2

状況は次のとおりです。データをプルするために接続する必要がある Oracle データベースがあります。上記の Oracle データベースにアクセスするのは非常に面倒なので (何よりも主に官僚的な障害です)、それを SQL Server にリンクし、そのリンクを使用して必要に応じてデータにアクセスすることを計画しています。

アプリケーションの 1 つで、必要なデータを取得するためのビューを作成する予定です。これで、必要なデータが 2 つのテーブルから結合されました。これを行う場合、どちらが望ましいでしょうか?

これ(そのようなものが存在する場合は疑似SQLで):

 OPENQUERY(Oracle, "SELECT [cols] FROM table1 INNER JOIN table2")

またはこれ:

 SELECT [cols] FROM OPENQUERY(Oracle, "SELECT [cols1] FROM table1")
 INNER JOIN OPENQUERY(Oracle, "SELECT [cols2] from table2")

どちらかを優先する理由はありますか?注意すべき点は、Oracle サーバーにアクセスするためにクエリを実行できる時間に制限があることです。

4

3 に答える 3

2

ハミッシュムンが言ったことは当てはまります。

また、SQL Server は、Oracle サーバーが保持するインデックス、統計、またはキャッシュについて実際には何も知りません。したがって、Oracle サーバーは、SQL サーバーよりもはるかに効率的に結合を行うことができます。

于 2008-12-18T14:44:52.927 に答える