何百万ものレコードを含むデータベースがあります。いくつかの問題があるため、いくつかの特定のテーブルを別の (新しい) データベースに配置する予定です。
テーブルを別のデータベース (同じサーバー上) に配置し、現在のデータベースと新しいデータベースの間に結合を適用すると、(データベース内の結合と比較して) パフォーマンスに影響はありますか?
何百万ものレコードを含むデータベースがあります。いくつかの問題があるため、いくつかの特定のテーブルを別の (新しい) データベースに配置する予定です。
テーブルを別のデータベース (同じサーバー上) に配置し、現在のデータベースと新しいデータベースの間に結合を適用すると、(データベース内の結合と比較して) パフォーマンスに影響はありますか?
IIRCの生のパフォーマンスは、クエリオプティマイザーが一度に1つのDB内の1つのテーブルに対してのみ機能することを除いて違いはありません。したがって、クエリは2つの最適化されたクエリになり、後の手順でデータベース間の結合が行われます。これにより、クエリが最適化されない場合もあれば、違いがない場合もあります。
SSDを入手して忘れてください
実際には、パフォーマンスに影響はありません。しかし、SQL Server 2008 では、テーブルを分離して達成しようとするのと同じことを達成するファイル グループを使用できます。それらを別のディスクに置くこともできるので、パフォーマンスが向上します。
他のすべてが等しいと仮定すると、複数のデータベースと単一のデータベースの間の JOIN 自体がパフォーマンスの低下を招くべきではないと思います。
しかし、あなたの提案が提起する変数や疑問が多すぎます。ノーマライズはしていますか?新しいテーブルはどのようにインデックス付けされますか? 外部キー?これは高トランザクション サーバー/データベースですか? 前後の物理ファイルはどのように設定されていますか? ディスク I/O、トランザクション ログなど、すべてが要因となる可能性があります。