-1

簡単な質問がありますが、インターネットで答えを見つけることができませんでした。名前と内容の 2 つのフィールドのみを持つ、result という名前の SQL テーブルがあります。すべての名前は一意であるため、フィールド名に主キーを置きます。

PHP でやりたいことは、名前を指定してその内容を取得することです。

$req = $bdd->prepare('SELECT contents FROM result WHERE name = :name');
$req->execute(array('name' => $inputName));
$donnees = $req->fetch();
$result=$donnees['contents'];
echo $result;

もちろん、このコードは機能しますが、私が知りたいのは、名前が主キーであることを PHP コードで指定する必要があるか、または既にそれを認識しているため、クエリの実行速度が最大になることです。

ありがとうございました。

4

2 に答える 2

0

データベースの主キー (または任意のキー) を処理するのは php の仕事ではありません。主キーはこの列のインデックスが作成されることを意味するため、実行速度は最大になります。

于 2012-11-23T15:06:27.130 に答える
0

時期尚早の最適化を行わないでください。

最初に実際のユースケースが必要です。次に、ボトルネックを見つけるためにそれをプロファイリング/ベンチマークし、次に何をどのように最適化するかを考える必要があります。

-を使用して SQL クエリのプロファイリングを実行できますEXPLAIN SELECT ...が、名前が既にインデックス化されている場合、単純なクエリには必要ありません。

この結果テーブルをキャッシュとして使用したい場合 - それはおそらく最善の解決策ではありません。memcache のようなメモリ内キー値ストアの使用を検討してください。

于 2012-11-23T15:12:30.103 に答える