2011-11-08 13 views
1

私たちは巨大なアプリケーションを複数のデータベースに分散しています。いくつかの場所では、DB1のテーブルのデータをDB2のストアドプロシージャから更新する必要があります。現時点では、DB2で作成されたビューを介してDB1からテーブルにアクセスしています。しかし、時間が経過してデータ量が増えると、パフォーマンスが低下し始め、この手順で多くのデッドロックが発生しています。 DB1のテーブルに正しいインデックスが設定されています。現在、SQL Server 2008を使用しており、物理的には両方のデータベースが同じサーバー上に存在しています。同じサーバー上のデータベースにまたがるテーブルへのアクセス

本当にありがとうございます。

答えて

1

ビューの代わりにSYNONYMを使用します。なぜビューの使用がデッドロックの原因になるのか不明ですが、この場合SYNONYMは抽象化のためのよりクリーンなインターフェースを提供します。

+0

SYNONYM:[SYNONYMの紹介と説明](http://blog.sqlauthority.com/2008/01/07/sql-server-2005-introduction-and-explanation-to-synonym-helpful-t-sql -feature-for-developer /) –

+0

SYNONYMとビューの間にパフォーマンスの違いはありますか?構文的にも論理的にも、現在のコンテキストではほぼ同じように見えます。 – Vikram