「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > 条項がクエリのパフォーマンスに影響を与えるMySQLの条件の順序はありますか?

条項がクエリのパフォーマンスに影響を与えるMySQLの条件の順序はありますか?

2025-03-23に投稿されました
ブラウズ:476

Does the Order of Conditions in a MySQL WHERE Clause Impact Query Performance?

条件の順序条件の順序句とパフォーマンス

多数の条件で複雑なデータベースクエリを作成するとき、それらの条件の順序はmysqlのパフォーマンスに影響を与える可能性があります。一般的なシナリオには、幅広い条件と制限的な条件の組み合わせが含まれます。疑問が生じます:制限条件がWhere句で最初に現れるか最後に表示されるかは重要ですか?特定の状況では、順序は短絡挙動のためにパフォーマンスに影響を与える可能性があります。次のクエリを検討してください (FirstName like:fooまたはlastname like:fooまたは電話のような:foo)and (firstName like:barまたはlastname like:barまたは電話のようなもの:bar)と company =:ugh

select * from clients where company =:ugh and (FirstName like:fooまたはlastname like:fooまたは電話のような:foo)and (firstName like:barまたはlastname like:barまたは電話のようなもの:bar)

最初のクエリでは、会社の状態が最後にチェックされ、結果を絞り込む前にMySQLが多数の行を検索する可能性があります。 2番目のクエリでは、会社の条件が最初に評価され、処理する必要がある行の数を大幅に減らすことができます。会社の条件が特定の行で失敗した場合、MySQLはその行の残りの条件を評価することを進めません。すべての場合に適用できる一般的なルールではありません。特定のクエリでパフォーマンステストを実施して、条件を並べ替えることで顕著な改善が得られるかどうかを判断することが最善です。
            
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3