AccessからOlacleに接続してデータを取得する処理について
教えてください。
数十万件単位のレコードがあるOracleのテーブルを参照する
必要があるのですが、かなりの負荷がかかると思うので出来
るだけ効率の良い方法で取得したいと思っています。
現在はパススルークエリを作成して、必要に応じてQueryDef
でSQLを書き換えて使用しています。
特に問題は感じないのですが、本などを見るとADOやDAOで
Oracleに接続し、結果をRecordSetに格納するやり方が一般
的なように思えます。
ADO/DAO接続でデータを持ってくるのと、パススルークエリで
データを参照するのでは処理スピードは違うでしょうか?
また、パススルークエリを使用する場合のデメリットなどがあり
ましたら教えてください。
よろしくお願いいたします。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
ADO や DAO のレコードセットの場合、おそらく、やり方にもよると思います。
レコードセットのタイプ ( 読み取り専用や更新可能など )によってもいくらかスピードが違ってくると思いますが、DAO は ODBC 経由でしか Oracle に接続できなかったように思いますので、パススルークエリと同じようなものではないでしょうか。ADO の場合、ODBC 経由だと DAO 同様、パススルークエリと同程度だと思いますが、ODBC を経由しないやり方 ( OLE DB Provider ? ) だと ODBC 経由のやり方より高速になるんじゃないかと思います。
ただ、ADO にしても DAO にしても、レコードセットに全件を読み込んで Filter プロパティで抽出条件を指定するようなやり方だと、パススルークエリの WHERE 句で抽出条件を指定するやり方より遅くなってしまうと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) EXCELの外部データ取得ができない 1 2023/03/23 09:03
- Visual Basic(VBA) ExcelからAccessのテーブルに書き込む時に時間がかかる 1 2022/10/14 20:38
- その他(データベース) pythonでsqlight勉強中、クエリー結果の利用法教えて下さい 1 2022/04/28 20:38
- その他(プログラミング・Web制作) Windowsのマクロプログラムで、こんなことできますか? 3 2022/06/28 14:30
- Access(アクセス) Access DAOのExecuteメソッドのオプション(RecordsetOptionEnum)に 1 2022/09/19 07:34
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- Excel(エクセル) エクセルで沢山のレコードの最後に追記するには? 7 2023/04/10 13:27
- ドライブ・ストレージ Win11 外付けHDDが認識されない 4 2022/05/24 10:02
- PostgreSQL ポストグレにあるExcelファイルを開くには 1 2022/12/13 18:07
- HTML・CSS WEBサイトの構築。表示データとWEBデザインを分離する考え方を専門用語・業界用語では何と言うか? 8 2022/09/27 09:16
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
ACCESSでパススルークエリにパラメータを使用したい
その他(データベース)
-
ADOのCursorLocationプロパティ
Visual Basic(VBA)
-
パススルークエリをテーブル作成するには?
その他(データベース)
-
-
4
レコードを保存するコード アクセスvba
その他(Microsoft Office)
-
5
SQLの速度をあげるには・・・
Visual Basic(VBA)
-
6
MS Accessでフォームの「開く時」と「読込み時」のイベントの違い
Access(アクセス)
-
7
Access サブフォームでの選択行の取得
その他(データベース)
-
8
パススルークエリ&ACCESSテーブル VBA抽出方法
SQL Server
-
9
フォームウィンドウを最前面に表示したい(ACCESS)
Microsoft ASP
-
10
Accessでテーブル名やクエリ名一覧の抜き出し
Access(アクセス)
-
11
ADOを使ったDBアクセス後のメモリ解放
その他(データベース)
-
12
AccessのDAO.ExecuteとDoCmd.RunSqlの違いについて
その他(データベース)
-
13
ACCESSフォーム入力後の確定
Access(アクセス)
-
14
フォームを開くときに、コンボボックスの値を選択(アクセスVBA)
Visual Basic(VBA)
-
15
レコードセットで得た結果をサブフォームに出力したい
その他(データベース)
-
16
アクセス 壊れた? 「ファイルが見つかりません」
Access(アクセス)
-
17
[Access] パススルークエリーで実行すると遅い
Access(アクセス)
-
18
カレントレコードが無い事を判定させる方法
Visual Basic(VBA)
-
19
Accessのサブフォームから値を参照する方法について
その他(データベース)
-
20
エラー(型が一致しません。)の対処方法
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CSEでDB接続しようとすると...
-
クエリをキャンセルしたいので...
-
listener.logが肥大化
-
VPNでの接続速度が異なります。
-
ADO接続でのセッションIDとシリ...
-
ODBC経由の処理が遅い
-
VPNでデータベースに接続した時...
-
データベースの2GBって・・・?
-
型 varchar から型 numeric へ...
-
希望の位置へフィールドを追加...
-
構文エラー:演算子がありませ...
-
ACCESS2019でのエラーメッセージ
-
データベースとウェブ(WWW)の共...
-
Notes って 何が良くて使うの...
-
キャッシュとバッファの違いは?
-
アクセスの日付/時刻型で標準...
-
データベースの最適化をマクロ...
-
VB.netのADOってなんですか?
-
マクロでデータベースの最適化...
-
CDの売上枚数を知りたいのですが
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ODBC経由の処理が遅い
-
listener.logが肥大化
-
クエリをキャンセルしたいので...
-
Access→Oracleデータ参照にはAD...
-
Oracleで今接続しているセッシ...
-
VPNでの接続速度が異なります。
-
データベースに接続したままの...
-
CSEでDB接続しようとすると...
-
異なるOracleサーバ上のテーブ...
-
クライアントPCからのアクセ...
-
ODBCの通信内容の暗号化
-
セッション復活の方法
-
インターネット経由でデータを...
-
Oracleのパラメータ値について...
-
SQLServerの接続設定(ODBC)
-
OracleからSQLServer参照時の不...
-
PGAとUGA
-
VPNでデータベースに接続した時...
-
Javaでの接続について
-
Access Oracle環境の切替方法
おすすめ情報