MySQL 效能:回顧單一值的「IN」子句與等號運算子
在MySQL 中,使用「IN」子句對效能的影響IN" 子句與單一值的等號運算子一直是爭論的主題。雖然有些人斷言這沒有什麼區別,但其他人建議在選擇適當的運算子之前檢查值的計數可以帶來效能優勢。之間的潛在效能差異。檢查$object_ids 的計數使用:
經驗證據
為了評估效能影響,對三個類似的查詢進行了EXPLAIN 分析:一個帶有「 = 1”,一個帶有“= 1” “IN(1)”,以及一個帶有“IN(1,2,3)”的。結果顯示:$sql = 'SELECT * FROM `users` WHERE `id` IN(' . implode(', ', $object_ids) . ')';對於此類查詢,MySQL 最佳化了“IN(1)”,使其等效於“= 1”。的效能損失似乎被MySQL 對「IN(1)」執行的最佳化所抵消。 ,始終建議查閱MySQL 的具體文件並考慮在做出最終決定之前查詢的複雜性。
以上是在 MySQL 查詢中應該對單一值使用“IN”還是“=”?的詳細內容。更多資訊請關注PHP中文網其他相關文章!