2013.06.03
STAFF BLOG
スタッフブログ
TECHNICAL
テクログ
技術ブログ2回目の投稿です。
今回はデータベースへのアクセス操作を行うADOについて書きたいと思います。
ADOの使い方によって、処理速度が結構変わります。
で、そこでポイントなのがレコードをオープンするときのカーソルタイプ(CursorType)です。
■カーソルタイプの種類と説明
・adOpenForwardOnly:前方カーソル (デフォルト値)
レコード移動は前方方向への参照のみ
・adOpenKeyset:キーセットカーソル
レコード移動は前後可能。ただし、他ユーザーが更新したレコードは参照できるが、追加削除したレコードは参照できない。。
・adOpenDynamic:動的カーソル
レコード移動は前後可能。ただし、他ユーザーが追加・更新したレコードも参照できる。
・adOpenStatic:静的カーソル
レコード移動は前後可能。ただし、他ユーザーが更新したレコードも参照できない。
総レコード数を取りたい場合、adOpenForwardOnly以外を指定するとRecordCountで取得することができたり、AddNewなどで容易にレコードの追加などが可能になるのですが、処理速度がかなり落ちてしまう原因になったりします。
データ参照だけを行う場合には、adOpenForwardOnlyのほうが早いです。
データ件数が多くなるほど、処理速度の差を実感できます。
このレコード操作はAccessやVBAでも使えるので、覚えておくと便利かも?