SSISを使用して倉庫にテーブルをロードしています。私のSSISは遅いので、テーブルにインデックスを作成するのはいい考えです。SSISタスクの索引調整
このウェアハウスには主キー(したがって外部キー)、索引(クラスター化されたものなど)、制約はありません。言い換えれば、100%の効率がありません。
ここでは、新しいクエリと現在のクエリのパフォーマンスを分析することによって、インデックスに基づいてインデックスを配置します。
SQLステートメントと実行計画を実際に読んでいる私たちの昔ながらの汗と荒々しいやり方ではなく、光り輝く新しいデータベースエンジンチューニングアドバイザーを使用すると思いました。
SSISパッケージでSQLログオフをオフにして、「チューニング」トレースを実行し、それをテーブルに保存し、チューニングアドバイザーで出力を分析しました。検索のほとんどは次のように行われています。
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のために私が学ぶことができるリソースがありますか? –
http://blogs.msdn.com/bartd/archive/2007/07/19/are-you-using-sql-s-missing-index-dmvs.aspx – onupdatecascade