2012-01-26 15 views
2

これを単純にしておきたいと思います。過去に私が使用していたテーブルにリンクするのではなく、OracleまたはMS SQLサーバーをフロントエンドとしてAccessを持つデータストアとして使用していました。ほとんどの場合のように私のレコードセットを開くために、それぞれのデータベースへのADO接続は、クエリがサーバーに対して実行され、結果がローカルPC上で行われていたのではなく返されるため、より高速です。MS AccessデータベースへのADOクエリ、パフォーマンスの向上?

ローカルPCよりも処理能力の高いサーバーマシンにアクセス.mdbファイルを置き、Oracle/MSなどのADO接続を使用してクエリを実行すると、 SQL)を使用すると、サーバー上にある.mdbのためにパフォーマンスが向上します。またはアクセスとしてデータベースサーバーではなくファイルタイプのデータベースであるため、ローカルPCが自動的に作業を行いますか?

+0

ファイル共有上のMDBに対するADO接続と、クライアントサーバーデータベースへのADO接続とのパフォーマンスに関するこの質問はありますか? – HansUp

+0

@ HansUpいいえ、大型サーバーのC:ドライブに格納されたMDBファイルへのADO接続のパフォーマンスです。標準のデスクトップコンピュータC:ドライブのMDBファイルにリンクテーブルを使用した標準クエリを使用しています。 –

答えて

4

いいえ、それは遅くなりません - クエリは依然としてクライアント側を実行し、あなたは一番上にネットワーク活動を持っています。

アクセスアプリケーションは常にクライアント側で実行されます。ロックは、複数のAccessインスタンスが同じMDBファイルを変更できるように、LDBファイルのWindowsファイルシステムのバイト範囲ロックを使用して行われます。

すべてのコードがクライアント上で実行されるため、ネットワーク経由でデータを送信する必要があります。サーバーがMDBファイルを使用して実行する唯一の作業はファイルサーバーとして機能します。

Accessが十分に高速でない場合は、SQL Server Expressを使用してください。 SQL Serverはクライアント/サーバーシステムであるため、高速なサーバーに配置すると役立ちます。

+0

これはうれしいことですが、SQL Expressなどを使っても大丈夫ですが、この方法でAccessを使用すると、クエリを実行するサーバーが得られるかどうか、または依然としてクライアント側であるかどうかはわかりません。 –

+0

@MattDonnan、より明確に更新されました。 – Ben

+0

もう一度おねがいします。私の古い未解決の質問のいずれかにご意見がありますか? (http://stackoverflow.com/questions/8896845/ms-access-cancel-execution-of-pass-thru-query-keyboard-shortcut) –