2021/11/19(金)MS ACCESS → SQL Server 比較: 興味深い

2021/11/19 27:35 itoy
MS ACCESS → SQL Server へデータベースを移行する目的はレスポンスタイムの改善だったわけです
ですので、もっともネックとなる通信量を測定してみました
そうすると興味深いデータが採取できました

MS ACCESSの通信量の多さと検索結果との関係がない、ということです

テーブルを全件検索した場合の結果は下記になります

MSACCESS_ALL.jpg


SQLSERVER_ALL.jpg


MS ACCESS 送信 447.165 KB
MS ACCESS 受信 35974.144 KB
SQL SERVER 送信 90.515 KB
SQL SERVER 受信 16199.68 KB

同じデータの検索なのですが、MS ACCESS の受信データの量は SQL Server の2.2倍です

また MS ACCESS では送信データを2フェーズ送信しています


検索条件を入れてテーブルを検索した場合の結果は下記になります

MSACCESS_COND.jpg


SQLSERVER_COND.jpg


MS ACCESS 送信 442.9225 KB
MS ACCESS 受信 36044.8 KB
SQL SERVER 送信 36.944 KB
SQL SERVER 受信 71.966 KB

同じデータの検索なのですが、MS ACCESS の受信データの量は SQL Server の500倍です

MS ACCESSは全件検索と条件付き検索の場合とで、受信データ量が同じです

全件取得しても、数件取得しても受信データ量が同じです

アプリケーション(EXCEL VBA)でのデータの見え方が同じということは、ドライバ(OLEプロバイダ)が全件データを受信しておいて、データを抽出している、ように思えます

ということは、テーブルに含まれるデータ量が増加すると、検索条件にかかわらず通信量が増加するということです

サーバからデータを全件取得しておいて、クライアント側で検索(抽出)を行っている、ということです

また、全件検索の場合と同じく MS ACCESS では送信データを2フェーズ送信しています