我使用SSIS在我的倉庫中加載表。由於我的SSIS速度很慢,因此在表格上建立索引似乎是個好主意。SSIS任務的索引調整
此倉庫上沒有主鍵(因此是外鍵),索引(聚集或其他),約束。換句話說,它是100%免費的效率。
我們將根據使用情況設置索引 - 通過分析新的查詢和當前的查詢性能。
因此,我認爲我不會使用我們陳舊的汗水和實際讀取SQL語句和執行計劃的煩人方式,而是使用閃亮的新數據庫引擎優化顧問來使用它。
我在SSIS包中關閉了SQL註銷,並運行「調整」跟蹤,將其保存到表中並分析Tuning Advisor中的輸出。大多數查找的都是因爲:
exec sp_executesql N'SELECT [Active], [CompanyID], [CompanyName], [CompanyShortName], [CompanyTypeID], [HierarchyNodeID] FROM [dbo].[Company] WHERE ([CompanyID][email protected]) AND ([StartDateTime] IS NOT NULL AND [EndDateTime] IS NULL)',N'@P1 int',1
exec sp_executesql N'SELECT [Active], [CompanyID], [CompanyName], [CompanyShortName], [CompanyTypeID], [HierarchyNodeID] FROM [dbo].[Company] WHERE ([CompanyID][email protected]) AND ([StartDateTime] IS NOT NULL AND [EndDateTime] IS NULL)',N'@P1 int',2
exec sp_executesql N'SELECT [Active], [CompanyID], [CompanyName], [CompanyShortName], [CompanyTypeID], [HierarchyNodeID] FROM [dbo].[Company] WHERE ([CompanyID][email protected]) AND ([StartDateTime] IS NOT NULL AND [EndDateTime] IS NULL)',N'@P1 int',3
exec sp_executesql N'SELECT [Active], [CompanyID], [CompanyName], [CompanyShortName], [CompanyTypeID], [HierarchyNodeID] FROM [dbo].[Company] WHERE ([CompanyID][email protected]) AND ([StartDateTime] IS NOT NULL AND [EndDateTime] IS NULL)',N'@P1 int',4
和分析時,這些語句有 「事件不引用任何表」 的原因。咦?它沒有看到FROM dbo.Company ?? !!這裏發生了什麼?
所以,我有多個問題:
- 我如何得到它來捕捉在我的跟蹤執行實際的說法,不是在一個批處理提交?
- 是否有任何最佳實踐要跟蹤調整與SQL Server 2008運行的SSIS包相關的性能?
根據您的輸入編輯的問題。我沒有使用DMV。我沒有FK或PK - 只是倉庫中的指數。沒有檢查約束 - 只有默認約束。你有什麼資源可以學習DMV嗎? – 2009-08-20 20:10:53
http://blogs.msdn.com/bartd/archive/2007/07/19/are-you-using-sql-s-missing-index-dmvs.aspx – onupdatecascade 2009-08-20 23:19:34