[SQL ] 某資料庫用一用變很慢

看板Database作者 (排年代的票真悶)時間11年前 (2014/09/18 20:08), 11年前編輯推噓6(6011)
留言17則, 7人參與, 最新討論串1/1
(針對 SQL 語言的問題,用這個標題。請用 Ctrl+Y 砍掉這行) 資料庫名稱:MS SQL SERVER 2008 資料庫版本:WINDWOS SERVER2008 R2 內容/問題描述: 想問一下,常常用好幾個資料庫的資料表聯集做事 但有時不明原因好好的,突然會變很慢 比如光是 SELECT * FROM [TABLE] 就要2分鐘 平常只要8秒左右 然後要是用了 WHERE ID IN (XXX) 則跑很久跑不出東西(超過半小時) 但正常時不會這樣 重開機還是一樣 過幾天不明就理又會好 GOOGLE都不知要查什麼 想要問這會是哪方面的問題呢? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 106.1.227.232 ※ 文章網址: http://www.ptt.cc/bbs/Database/M.1411042117.A.049.html

09/19 02:24, , 1F
查看那個資料表的索引怎麼建的
09/19 02:24, 1F

09/19 02:25, , 2F
最近遇到和原PO類似的問題
09/19 02:25, 2F

09/19 02:26, , 3F
執行預存程序約20秒,但報表跑了2分鐘還是出不來
09/19 02:26, 3F

09/19 02:28, , 4F
後來才發現是之前非叢集索引建不好
09/19 02:28, 4F

09/19 02:29, , 5F
移除後,執行預存程序5秒,報表也飛快的跑出來了
09/19 02:29, 5F

09/19 13:27, , 6F
先查你的RAM使用狀況,因為你資料查詢時會預載至RAM中
09/19 13:27, 6F

09/19 13:28, , 7F
RAM接近滿載時,執行速度會變慢
09/19 13:28, 7F

09/19 13:28, , 8F
另外可以參考執行計畫去建你Table的索引
09/19 13:28, 8F

09/19 18:56, , 9F
同樣的語法時快時慢應該不是索引問題吧
09/19 18:56, 9F

09/19 19:28, , 10F
也推樓上的 看適不適電腦不夠力
09/19 19:28, 10F

09/19 19:50, , 11F
更新統計吧。執行sp_updatestats看看
09/19 19:50, 11F
感謝樓上各位的推文,結果最後我情急之下將資料表 複製到另一個資料庫就可以用了 ....不過還是不明原因 ※ 編輯: lepin2001 (106.1.227.232), 09/20/2014 03:16:26

09/20 11:21, , 12F
複製到另一個資料庫是不是統計值會重新計算呀?
09/20 11:21, 12F

09/20 11:22, , 13F
複製過去就是 a whole new world 了
09/20 11:22, 13F

09/20 11:23, , 14F
不只統計值 連資料塊實際儲存位置都不一樣
09/20 11:23, 14F

09/20 18:39, , 15F
所以看起來 可能是有某幾筆資料 存取發生問題
09/20 18:39, 15F

09/20 18:39, , 16F
或許是硬體問題
09/20 18:39, 16F

09/20 19:49, , 17F
先看執行計畫!才能知道哪裡問題
09/20 19:49, 17F
文章代碼(AID): #1K6ij519 (Database)