Date: Thu, 1 Apr 2004 12:45:33 +0900
From: "Akira Horikawa" <who@example.ne.jp>
堀川です、こんにちは
-----Original Message-----
From: 海東 竜司 [mailto:who@sub.example.jp]
Sent: Wednesday, March 31, 2004 6:14 PM
To: who@example.ne.jp
Subject: [ml-msde-beg:01150] Access ADP と MDB の違いについて
>基本的な質問で恐縮なのですが、現在Access2000のMDBファイルを共有する
>形でデータベースを利用しており、ネットワークの負荷を考えMSDE2000+ADP(?)
>への移行を考えています。
MDB(ファイル共有)と、ADP(Accessプロジェクト)では、似ているようで
異なっていますので、MSDEやSQLServerに関する知識を習得されてから
移行をオススメします
とくにデータベースサーバー本体に関する知識不足により、いろいろな問題が
発生します
>MDBだとネットワークに不要なデータまで流れると言うところは判ったのですが、
>以下のような場合はどうなるのでしょうか?
データベース技術者に要求されるネットワークに関する考慮は、テーブルの
レコードやデータまでの考慮でよいと思います
例えば、クライアント側で、サーバーのテーブルを開くときに、そのテーブルの
レコードを全部クライアント側で閲覧するかどうかと言った内容です。
もしその必要性がなければ、クライアント側で本当に必要としているレコードだけを
抽出して持ってくると言った処理を記述して下さい。
レコードセットを取得する時に、ちゃんと抽出条件を指定しているか指定していないかで、
クライアント側に返されるレコードやデータ量が異なってきます
このような配慮をすれば、ネットワーク内に流れるデータ量は最小化して行きます
これは、MDBでのファイル共有や、Accessプロジェクトでも、開発手法に関係なく
データベースアプリケーション開発の基本事項となる考え方です。
>Set cn = CurrentProject.Connection
>Set rs = New ADODB.Recordset
>rs.Open "T_社員マスター", cn, adOpenDynamic, adLockOptimistic
レコードセットを取得するときに、SQL文を使って、クライアント側で必要としている
レコードの抽出条件を入れると良いと思います
>極力ADO等でレコードセットを作成せずに、ストアドプロシージャを使用した
>方が負荷は軽くなるのでしょうか?
サーバー側で処理が閉じられるのであれば、ストアドプロシージャの効果はあります。
ADPでは、ストアドプロシージャを使って、クライアント側にレコードセットを返すことも
できます。
その際にも、
クライアント側が本当に必要としているレコードだけを返しているのか?
無駄なレコードがあるのか?
と言った観点から考える必要があります。
------------------------------------
(株)日本技術ソフト開発
堀川 明 (Akira Horikawa)
04月01日(木曜日) 12時12分記
mailto:who@example.ne.jp
http://www.horikawa.ne.jp/msde/
[MSDE/SQLServerに関して、今、どんなことにお困りですか?] |
よろしければお困りの内容を、電子メールで教えて下さい。 |
質問を電子メールで作成する
|
[ウィンドを閉じる][MSDE/SQLServer FAQ ][MSDE / MSDE2000 技術サポート情報一覧]
|