99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
2019-03-01 閱讀量: 915
sql語句中where的執(zhí)行順序是怎樣的

問題描述:

如果一條SQL語句中的where有多個查詢條件,那么他們的執(zhí)行順序是怎樣的呢?

比如:select * from table where pid=1 AND tid=12

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

解決方法:

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

做了個簡單測試,生成100w組數(shù)據(jù),每組包含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)

測試結(jié)果可復(fù)現(xiàn)。似乎是先搜索最后的條件,然后在結(jié)果集里再搜索前一個條件。

5.9738
2
關(guān)注作者
收藏
評論(0)

發(fā)表評論

暫無數(shù)據(jù)
推薦帖子