亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

是先查找滿足pid的還是查找滿足tid的?

是先查找滿足pid的還是查找滿足tid的?

繁花如伊 2023-04-15 22:18:42
如果一條SQL語句中的where有多個查詢條件,那么他們的執行順序是怎樣的呢?比如:select * from table where pid=1 AND tid=12
查看完整描述

2 回答

?
慕勒3428872

TA貢獻1848條經驗 獲得超6個贊

肯定是先查找有索引的。對于沒有索引的,誰先誰后沒多少區別,反正總是要掃一遍。

做了個簡單測試,生成100w組數據,每組包含1個key,2個int a, b,其中a只取值0,1,2,3,b取值為0~999999,然后:

mysql> select count(*) from x where a=2 and b=499999;
+----------+
| count(*) |
+----------+
| 1 |
+----------+
1 row in set (0.24 sec)

mysql> select count(*) from x where b=499999 and a = 2;
+----------+
| count(*) |
+----------+
| 1 |
+----------+
1 row in set (0.28 sec)

測試結果可復現。似乎是先搜索最后的條件,然后在結果集里再搜索前一個條件。


查看完整回答
反對 回復 2023-04-19
?
江戶川亂折騰

TA貢獻1851條經驗 獲得超5個贊

mysql的where后面的條件沒有執行順序。

查看完整回答
反對 回復 2023-04-19
  • 2 回答
  • 0 關注
  • 196 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號