私はPostgreSQL WHERE
節を書いても問題ありませんか?PostgreSQLでWHERE句を書くには
ID
列がインデックスされ、name
がインデックスされていない表を想像してください。
2つのクエリが同じ時間に実行される実行するには?
そして、これらの単純なクエリにもかかわらず、
SELECT * FROM users WHERE id = 3 AND state = 0;
SELECT * FROM users WHERE state = 0 AND id = 3;
- 。 Postgresは複雑なクエリに対しても同じ最適化を行いますか?
回答するときは、profリンクをご提供ください。
ありがとうございます。条件タイプ ブール値の結果を評価する任意の式である
順序は関係ありません - 括弧付きのグループ化だけは行いません。 where節は常に真または偽でなければなりません - 結果を整理する方法は?(真と真)=真、(真と虚偽)=偽、真と真はありません - 両者は互換性があります –
@VaoTsun:変更されません。この結果を得る時間は重要です。最初の場合、インデックスは使用されていない可能性があります。 –
オプティマイザは評価の順序を(統計に基づいて)決定します - あなたは彼にあなたの注文をヒントできません(少なくともこれは簡単ではありません) –