」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 條件在子句中影響查詢性能的情況下的條件順序嗎?

條件在子句中影響查詢性能的情況下的條件順序嗎?

發佈於2025-03-23
瀏覽:201

Does the Order of Conditions in a MySQL WHERE Clause Impact Query Performance?
在mySQL中的條件順序,其中條款和性能

答案並不總是很簡單。在某些情況下,該順序會因短路行為而影響性能。考慮以下查詢:

從客戶端選擇 * (例如:foo或lastname,喜歡:foo或電話,例如:foo)和 (firstName喜歡:bar或lastname,喜歡:bar或phone,喜歡:bar)和 company =:ugh select *從客戶端的選擇 * 公司=:UGH和 (例如:foo或lastname,喜歡:foo或電話,例如:foo)和 (firstName喜歡:bar或lastname,喜歡:bar或phone,喜歡:bar)在第一個查詢中,最後一次檢查了公司條件,可能導致MySQL在縮小結果之前搜索大量行。在第二個查詢中,首先評估公司條件,這可以大大減少需要處理的行數。

但是,重要的是要注意,請注意,限制性條件可能並不總是很重要,尤其是如果限制性不高度選擇性(即,在何處都不會效果,那麼我會在何處效果,因此,我的命令是我的[pers pression]。在所有情況下都不是可以應用的一般規則。最好對特定查詢進行性能測試,以確定是否重新排序條件是否提供明顯的改進。
最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3