※ 引述《abschihok (大帥哥)》之銘言:
: select * from xxx where .....
: 如果select出來的筆數有數千萬筆,
: 那光一開始的select時間,不就要等上一段很長的時間了,
: 甚至整個cpu資源都被吃掉了
: select 似乎不適合用在大筆數的查詢,
: 那請問有什麼好辦法可以適用在多筆數的查詢嗎?
之前本來想要用推文回應,但推一次要等 2xx 秒...
會影響 select 的因素很多,除了 WHERE, JOIN, Constraint, 這些可以控制
的軟限制以外,還有像是索引的設計,硬體 (CPU, RAM, Disk I/O 與網路) 等
硬限制,這些都有可能會影響到 select 輸出的速度。
基本上,不太有可能有人會一次輸出數千萬筆資料,只有資料要做 migration 時
才會有可能,不然哪個非 MIS 使用者這麼閒會去看數千萬筆原始資料?因此適當
的查詢設計才是王道,當然索引也要調的好。
如果查詢和索引都做了最佳化,但查詢效能還是很差時,就得考量是否是硬體問題。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.84.117.20