作者newvalentine (haha)
看板Database
標題[SQL ] 為何同樣條件查詢時間不一樣?
時間Wed May 2 23:44:50 2012
最近因為工作業務上需求須要挑一些資料,因為資料有上百萬筆所以有將 index 索引
的條件盡量往前塞
可是同樣條件的 SQL
A: SELECT * FROM TABLE WHERE INDEX_FIELD='條件1' AND NOT_INDEX_FILED = '條件2'
B: SELECT INDEX_FIELD FROM TABLE
WHERE INDEX_FIELD='條件1' AND NOT_INDEX_FILED = '條件2'
上面 A 的執行時間竟然比 B 還要長?這是為啥呢?
我的環境是 Oracle 8g 然後用 PL/SQL Developer 下去 run SQL 的
不知道為啥有這樣的差異 ._.?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.240.175.214
1F:推 alpe:因為 * 05/02 23:53
2F:→ newvalentine:* 全挑跟指定有關係嗎? 05/02 23:54
3F:→ gname:一次叫一百個人跟一次叫二個人...當然有差啊~ 05/03 00:24
4F:推 carlcarl:拿欄位資料的多寡對速度也是很傷的 05/03 03:52
5F:推 bluepromise:如果是Count(*)和Count(column)也適用如上道理嗎? 05/03 20:04
6F:推 alpe:不同DB有差, 記得有的沒差, 有的有差, 所以請用 count(pk) 05/03 22:30
7F:推 ji394su33000:是roll lock 跟 all page lock的分別嗎? 05/09 01:34
8F:→ ji394su33000: ↑row 05/09 01:35