作者lepin2001 (排年代的票真悶)
看板Database
標題[SQL ] 某資料庫用一用變很慢
時間Thu Sep 18 20:08:34 2014
(針對
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://webptt.com/m.aspx?n=bbs/Database/M.1411042117.A.049.html
1F:推 scpisces: 查看那個資料表的索引怎麼建的 09/19 02:24
2F:→ scpisces: 最近遇到和原PO類似的問題 09/19 02:25
3F:→ scpisces: 執行預存程序約20秒,但報表跑了2分鐘還是出不來 09/19 02:26
4F:→ scpisces: 後來才發現是之前非叢集索引建不好 09/19 02:28
5F:→ scpisces: 移除後,執行預存程序5秒,報表也飛快的跑出來了 09/19 02:29
6F:→ a926: 先查你的RAM使用狀況,因為你資料查詢時會預載至RAM中 09/19 13:27
7F:→ a926: RAM接近滿載時,執行速度會變慢 09/19 13:28
8F:→ a926: 另外可以參考執行計畫去建你Table的索引 09/19 13:28
9F:推 GoalBased: 同樣的語法時快時慢應該不是索引問題吧 09/19 18:56
10F:推 GoalBased: 也推樓上的 看適不適電腦不夠力 09/19 19:28
11F:推 rockchangnew: 更新統計吧。執行sp_updatestats看看 09/19 19:50
感謝樓上各位的推文,結果最後我情急之下將資料表 複製到另一個資料庫就可以用了
....不過還是不明原因
※ 編輯: lepin2001 (106.1.227.232), 09/20/2014 03:16:26
12F:→ markjai: 複製到另一個資料庫是不是統計值會重新計算呀? 09/20 11:21
13F:→ iFEELing: 複製過去就是 a whole new world 了 09/20 11:22
14F:→ iFEELing: 不只統計值 連資料塊實際儲存位置都不一樣 09/20 11:23
15F:推 GoalBased: 所以看起來 可能是有某幾筆資料 存取發生問題 09/20 18:39
16F:→ GoalBased: 或許是硬體問題 09/20 18:39
17F:推 sky2327885: 先看執行計畫!才能知道哪裡問題 09/20 19:49