2016-08-16 48 views
1

我們有客戶關係管理導航。我們有很多性能問題。在應用程序日誌中,我們每天收到40-50條關於查詢執行時間的消息。CRM導航2015非常慢,查詢執行時間超出限制

,我們在應用程序日誌這就好比

警告1中得到的警告消息:的46.3秒 查詢執行時間超過30秒的門檻。主題:148;數據庫:MSCRM; 並查詢自己。

但是,當我們運行該查詢時,它在SSMS中不需要時間,或者可能是1秒或2秒。

爲什麼從CRM和直接在SSMS上運行查詢的時間有很大差異。 ?

您認爲我們應該重建或重新組織索引以提高性能嗎?

謝謝。 P.

+0

[Stack DBA](http://dba.stackexchange.com/search?q=query+slow)上的人可能會提供幫助。但他們需要更多的信息。您可以從[SQL Server Profiler](https://msdn.microsoft.com/en-us/library/ms181091.aspx?f=255&MSPPError=-2147217396)捕獲的任何內容或從日誌文件中抓取任何內容都將有所幫助。一定要包含執行計劃。 –

+0

那麼我們在探查器中運行了很少的查詢,並得到了創建和刪除索引的建議,但是這樣做有多安全? – user2040021

+0

嘗試添加'-T4136'作爲啓動參數並檢查'參數嗅探' – Devart

回答

0

在您的CRM系統中運行報表和從SSMS運行報表之間最可能的區別是執行報表的用戶。大多數報告都是針對過濾的視圖進行的,這些視圖包含大量執行安全性的開銷。使用系統管理員權限執行查詢可顯着降低對過濾視圖的查詢開銷。您是否使用系統管理員從CRM中執行SSMS和非管理員?

請注意,儘管不支持,但對常規視圖編寫報告查詢的工作非常好,速度也更快。當然,你失去了包括在過濾視圖中的功能,包括安全檢查。

索引: 是的,您應該確保定期爲您的CRM數據庫編制索引,並且每日或每週對索引進行碎片整理更爲重要。

在CRM數據庫上創建和解構索引是受支持的操作。 Microsoft建議重建碎片級別大於30%的索引,而碎片大於10%的索引應重新組織。

碎片整理您的生產指標是絕對安全的,但您應該在一夜之間運行操作,以最大限度地降低對系統性能的任何影響。

+0

非常好的解釋@Zach。非常感謝你,一如既往! – user2040021