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

作者: lepin2001 (排年代的票真悶)   2014-09-18 20:08:34
(針對 SQL 語言的問題,用這個標題。請用 Ctrl+Y 砍掉這行)
資料庫名稱:MS SQL SERVER 2008
資料庫版本:WINDWOS SERVER2008 R2
內容/問題描述:
想問一下,常常用好幾個資料庫的資料表聯集做事
但有時不明原因好好的,突然會變很慢
比如光是 SELECT * FROM [TABLE]
就要2分鐘
平常只要8秒左右
然後要是用了 WHERE ID IN (XXX)
則跑很久跑不出東西(超過半小時)
但正常時不會這樣
重開機還是一樣
過幾天不明就理又會好
GOOGLE都不知要查什麼
想要問這會是哪方面的問題呢?
謝謝
作者: scpisces (失敗的勇氣。)   2014-09-19 02:24:00
查看那個資料表的索引怎麼建的最近遇到和原PO類似的問題執行預存程序約20秒,但報表跑了2分鐘還是出不來後來才發現是之前非叢集索引建不好移除後,執行預存程序5秒,報表也飛快的跑出來了
作者: a926 (Aaron)   2014-09-19 13:27:00
先查你的RAM使用狀況,因為你資料查詢時會預載至RAM中RAM接近滿載時,執行速度會變慢另外可以參考執行計畫去建你Table的索引
作者: GoalBased (Artificail Intelligence)   2014-09-19 18:56:00
同樣的語法時快時慢應該不是索引問題吧也推樓上的 看適不適電腦不夠力
作者: rockchangnew (rock)   2014-09-19 19:50:00
更新統計吧。執行sp_updatestats看看
作者: markjai (用心感受點滴~)   2014-09-20 11:21:00
複製到另一個資料庫是不是統計值會重新計算呀?
作者: iFEELing (ing)   2014-09-20 11:22:00
複製過去就是 a whole new world 了不只統計值 連資料塊實際儲存位置都不一樣
作者: GoalBased (Artificail Intelligence)   2014-09-20 18:39:00
所以看起來 可能是有某幾筆資料 存取發生問題或許是硬體問題
作者: sky2327885   2014-09-20 19:49:00
先看執行計畫!才能知道哪裡問題

Links booklink

Contact Us: admin [ a t ] ucptt.com