[SQL ] 查詢條件的順序跟查詢速度的關係?
我有三個條件需要比對
並且我有對這三個條件做index
index做的順序是A, B, C
請問一下
為什麼
1.
select * from TABLE where B < 10 and C > 50 and A in
(select A from TABLE where B < 20 and C > 40)
2.
select * from TABLE where A in
(select A from TABLE where B < 20 and C > 40) and
B < 10 and C > 50
1的速度會比2來的快
記得看到的資料是說應該要照index的順序來排會比較好
另外還有個問題是
如果沒有作index的話
我的三個條件分別是用 "=", ">或<", "like" 來作比對
哪一種比對排在前面會對查詢速度有影響嗎
謝謝回答
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.194.102.114
推
10/01 00:17, , 1F
10/01 00:17, 1F
→
10/01 00:23, , 2F
10/01 00:23, 2F
推
10/01 00:24, , 3F
10/01 00:24, 3F
→
10/01 00:30, , 4F
10/01 00:30, 4F