0

ばかげているように聞こえるかもしれませんが、複数の WHERE 句を指定すると、mysql クエリが高速になりますか、それとも遅くなりますか?

どちらが速いでしょうか?

例 1:

SELECT id FROM table WHERE username='user'

例 2:

SELECT id FROM table WHERE username='user' AND country='US' AND email='email@gmail.com'
4

3 に答える 3

1

まあ、それはすべて、インデックスが定義されているかどうかにかかわらず、検索している列によって異なります。

例 1 では、usernameパフォーマンスを向上させるためにインデックスが必要です。

ALTER TABLE tableName INDEX (username)

例 2 では、3 つの列にもインデックスが必要です。

ALTER TABLE tableName INDEX (username, country, email)
于 2013-09-19T17:44:29.090 に答える
0

テーブルのインデックスの作成方法など、いくつかの要因に依存しますが、ほとんどの場合、結果セットを制限する方がすべての結果を返すよりも高速です。他のすべてと同様に、両方をベンチマークしてから決定します。

于 2013-09-19T17:44:16.083 に答える