困っていること
Access上のテーブルとODBC接続したSQL Serverのテーブルを結合させた場合に、AccessがSQL Server上のデータを全件とってこようとする。
前提
SQL Server 2016 に、Microsoft Access から、ODBC接続してデータを取得しようとしています。
SQL Server側のデータは数百~数千万件くらいあります。データにはコードの列があり、
ひとつのコードあたり、数十件から数千件くらいのレコードがあります。
コードにはインデックスがはられています。
解決したいこと
多くても十件程度までのコードテーブルを、Access上に作成し、データを取得しようとすると、データを全件クライアントに取得しようとします。
SQL Server 上では結合したクエリではなく全件のクエリが流れていることが確認できました。
下記のようなSQLを、SSMSやパススルークエリで流した場合、結果は瞬時に返ってきます。
SQL
1SELECT hoge_table.* 2 FROM hoge_table -- 数百万件以上あるデータのテーブル 3 INNER JOIN fuga_table -- コード抜き出し用のテーブル 4 ON hoge_table.code = fuga_table.code 5
Access上にコードテーブルを置いてクエリデザイン画面から問い合わせを行い、パススルーと同じような速度を得る方法はないでしょうか。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/01/15 02:40
2020/01/15 03:42