パススルークエリ
パススルークエリはAccess側ではなくODBC接続先のデータベース側でSQLを処理する技術だ。
何がいいのかと言えば、処理スピードが飛躍的に速くなることだ。
と言うよりも、Access側で素早く処理できる量の限界は低いので、ある程度大きなデータ量になれば必然的にパススルークエリを使わないとやってられないという状況が起こる。
小さな業務であればAccess側でSQLを処理しても、処理が遅くて困るようなことは起きない。
そもそもODBC接続する必要がなく、データはすべてAccess内にあるものだ。
しかし、大量のデータを処理する場合は、AccessはODBC接続先のデータベースにSQLを処理するような仕掛けにする必要がある。
もし、Access側でSQLを処理したら遅くて業務が回らなくなる。
パススルークエリは応用技術のような位置づけで認識しているプログラマーが多いが、大量の情報を処理する業務システムの場合は必須技術なのだ。
大量のデータがある場合は、下記のようなシステム構成になっている。
フロントエンドはAccessを、バックエンドはデータベースサーバーを利用している場合が多い。
Access + MySQL
Access + PostgreSQL
Access + SQL Server
Access + Oracle
このようなシステムの場合は、データベース操作はほとんどパススルークエリだ。
よって、Accessにはローカルテーブルやリンクテーブルはほとんどないのだ。
ローカルテーブルやリンクテーブルはAccess側でSQLを処理する場合に必要になるオブジェクトであって、パススルークエリとは無縁だ。
Accessの処理スピードで困っている場合は、パススルークエリ化してみるとよい。