Date: Tue, 22 Oct 2002 16:45:50 +0900
From: 丸山 宏徳 <who@example.ne.jp>
丸山です。お久しぶりです >ALL
> 今、rs.fields("fileld1").value に間をかまして処理しようと考えていたのですが
> rs.fields("field1").valueは遅いといわれて却下になったのですが根拠はあるので
> しょうか。
では、どんな手段でアクセスするようにと指示されたのでしょうか?
確かに、rs.fields("fileld1").valueよりrs.fields(0).valueの方が幾分か早い
ので、まったく根拠の無い指示ではないと思います。が、そんな制限を作る前に
もっと他にやることがあるのでは? というのが正直な所ですね。
個人的な感想&一般論ですが、コーディング規約で列名によるフィールドオブジェ
クトへのアクセスを禁じなければならないような速度が要求される業務を、VB+
ADOで作成してはいけないと思います(^^;
まずは
1.適切な列数、アクセス方法(readOnlyやスクロール方向の制限、静的/動的
カーソル使用の明示的な指定など)で効率的かつ最小限のレコードセットを作成
する。
2.Transact-SQLなどを使用することにより処理負荷を分散する。
3.UPDATEやDELETE、INSERTはSQL文を直接記述する等、レコードセットオブジェ
クトに依らないアクセスを行う。
4.トランザクションの使用を制限する
等の段階を踏まえて、それでも速度が足りなければ最後の手段として行うものだ
と考えます。
丸山 宏徳
E-Mail:who@example.ne.jp
[MSDE/SQLServerに関して、今、どんなことにお困りですか?] |
よろしければお困りの内容を、電子メールで教えて下さい。 |
質問を電子メールで作成する
|
[ウィンドを閉じる][MSDE/SQLServer FAQ ][MSDE / MSDE2000 技術サポート情報一覧]
|