作者sing10407 (阿U)
看板Database
標題Fw: [討論] 硬體對於資料庫效能觀念
時間Fri Feb 15 22:35:54 2013
※ [本文轉錄自 Web_Design 看板 #1H7ZKg64 ]
作者: sing10407 (阿U) 看板: Web_Design
標題: [討論] 硬體對於資料庫效能觀念
時間: Fri Feb 15 21:16:21 2013
是這樣的
客戶那的資料庫滿複雜
大多程式都要用到很多left join來關聯
但那些資料量都是千筆萬筆起跳
所以把查詢做成view之後再繼續關聯 (比較好維護)
舊系統MSSQL 2008查詢出來需要30秒 (複雜度應該n^2)
但是換MSSQL 2012查詢1秒
網路上查不到2012有何更新可以導致速度差這麼多
有想過幾個原因
1. 2012支援CPU數更高
2. view效能增加 (2012好像沒這樣的突破?)
所以問題就來了 假設是因為支援cpu數增加導致查詢變快
所以就代表Database主機的CPU數量也會影響查詢速度嗎?
還是只有單CPU的速度增加才會呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 1.168.206.48
※ 發信站: 批踢踢實業坊(ptt.cc)
※ 轉錄者: sing10407 (1.168.206.48), 時間: 02/15/2013 22:35:54
→ bohei:執行計畫? 亂猜的 02/15 23:26
→ jengting:提供一下 T-SQL 和執行計劃來判斷可能原因吧 02/17 14:55
→ ttnan:硬體升級會直接影響效率,跟View無關 02/19 16:31
→ ttnan:View只是將SQL簡化而已,執行時還是會拆開,除非是實體View 02/19 16:32
→ kobedisel:view會增加效能的觀點從哪來的,目前在許多客戶那邊遇到 02/20 00:50
→ kobedisel:最爛的效能都常都是user很愛view join view串好幾層 02/20 00:51
→ kobedisel:樓主的問題,通常一方面是硬體增加效能,另一方面 02/20 00:55
→ kobedisel:應該為sql 2012的資料庫的optimizer方式與2008有所不同 02/20 00:58
→ kobedisel:因此如樓上所說的看兩個資料庫sql的execution plan 02/20 00:59
→ kobedisel:應該可以看出來一些端倪 02/20 00:59