2016-08-29 5 views
-3

私は、以下の条件でmysqlの選択クエリがあります。テーブルで理解mysqlの

Select... 
FROM ... 
... 
AND c.deleted != '1' 

を、常に削除=と複数のレコードが存在します「0」を削除=「1」より

ので、Iより高速であるかを知りたい:

AND c.deleted != '1' 

または

AND c.deleted = '0' 

またはそれは同じですか?

+3

これはcodereview.stackexchange.comにより適しているようです。両方のクエリを実行して実行時間を調べると、どちらが高速かを確認することもできます。私の推測では無視できる程度です。 – Quantastical

+1

スピードにかかわらず、私の意見では、等しい条件は、来て、あなたのコードを見て作業しなければならない次の人のために読んで理解することがより明確です。 SQLでは、それは2つではない1つの等号です。 – Dave

答えて

0

これらはおおよそ同じです。

フィールドがインデックスされていない限り、mysqlは各ローを分析してc.deletedの値を決定する必要があります。フィールドが索引付けされている場合、平等テストは高速になりますが、おそらくそれほど多くはありません。あなたはいつもあなた自身のためにいくつかのテストを実行して決定することができます。