SQL Server 2008-同じ物理マシンとサーバーインスタンスでのクロスデータベースパフォーマンス


12

同じ物理マシン上の別のDBを介して選択を実行すると、パフォーマンスが低下しますか?したがって、同じSQL 2008インスタンス内で実行されている同じ物理マシン上に2つのデータベースがあります。

たとえば、SomStoreProc on_this_dbで、the_other_db.dbo.someTableからSELECT someFieldsを実行します。

これまでのところ、私がインターネットで読んだことから、ほとんどの人はNOを示しているようです。

回答:


13

同じインスタンス上のデータベース間でクエリを実行する場合、パフォーマンスの低下は見られません。同じクエリアナライザー、バッファーなどが使用されています。

同じサーバー上の異なるSQLインスタンスで同じことを試みると、パフォーマンスに影響が出る可能性があります。クエリは2つの異なるクエリアナライザーで分析する必要があり、キャッシュ、バッファーなどに使用するシステムリソースが増えます。また、インスタンス間で結果がVIAプロトコル(有効になっている場合)を通過するように強制します。MS DTCが関与している可能性があり、インスタンスの1つに対するアクセス許可が不十分な場合、貧弱な(より)クエリプランが作成される可能性があります。


4

プロファイラー+実行計画+ IO / Cpu統計は、これをチェックするのに最適です。最初のデータベースのテーブルをコピーし、期間とその他の統計を、2番目のデータベースにあるテーブルで見つかった統計と比較します。罰則があるかどうかがわかります。

個人的には、同じサーバー上の他のデータベースからテーブルデータを読み取るときに、目に見えるパフォーマンスの低下は見られませんでした。


笑最終的にクエリを最適化しています!
user547
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.