• FetchOptionsプロパティ
•
FDConnectionのFetchOptions.RowSetSizeに全体の フェッチ件数が指定可能。•
FDTable、FDQuery単位でも個別に上書き指定できる。→ 実行するSQLやテーブルにあわせて、フェッチする件数を 調整することで、よりパフォーマンスの向上が可能。
•
IBM i 用のFDCO400ドライバでは、さらに一度に 読込むバッファ数を調整可能。(BEFFERCOUNT) データのフェッチ
ODBCAdvancedパラメータに BUFFERCOUNT=[バッファ数]
の指定が可能。(20~100)
データセット
配列DML
• 更新SQLを使用したデータの大量登録
•
更新SQLを使用して、1つのワークファイルに大量のレコードを登録するような場合、通常パラメータクエリーを使用することが多い。
•
IBM i に対して、同じSQL文を何度も実行することになる。パラメータをもつSQL文。
(INSERT)
1件ずつパラメータに値をセット しながら、SQL(INSERT)を実行。
配列DML
• 配列DML
•
パラメータ配列を作成することで、1回のSQL実行で複数登録を可能に する仕組み。
•
通信回数を減らすことができ、処理 効率化が可能。(DBサーバー側で配列DMLをサポートしているもの(SQLServer, Oracle等)であれば、さらに 効率があがり処理速度の向上が期待できる。)
プロパティ/メソッド 機能
Params.ArraySize パラメータの配列要素数を指定。
Execute 配列DMLの実行。
パラメータの配列要素数を指定。
SQLを一括実行する。
パラメータ配列の 各要素に値をセット。
型キャストメソッドに複数形の”s”がつく。
ファイルメンバー処理
• ファイルメンバー処理
•
IBM i 独自の考え方。一つの物理ファイルに対して複数のメンバーを指定できる。•
ジョブ(セッション)毎に同じファイルに異なる内容がセットできる。(ワークファイル等の目的に多用)
• BDEの場合
•
TTableコンポーネントのTableNameプロパティに 直接メンバー指定が可能。ワークファイル (WTEC19P)
メンバー (M168001121)
メンバー (WTEC19P)
ファイルレイアウトは共通
データはメンバー 単位に独立して保持
• FireDACの場合
•
TFDTableコンポーネントのTableNameプロパティに メンバー指定ができない。 ファイルメンバー処理
• ネイティブ接続との併用
•
Delphi/400では、データベースエンジン以外にネイティブ接続が利用できるが、データベースエンジンと、ネイティブ接続は同時使用が可能。
•
デフォルト設定の場合、2つの接続は同一ジョブとなる。•
FDTableでファイルをオープンする前にOVRDBFコマンドでファイル名を一時変更し
FDTableでファイルをクローズした後に、DLTOVRコマンドで一時変更を削除する。OVRDBF FILE(WTEC19P) TOFILE(WTEC19P) MBR(M168001121) OVRSCOPE(*JOB)
RemoteCmd メソッド
DLTOVR FILE(WTEC19P) LVL(*JOB)
RemoteCmd メソッド
オープン
クローズ
指定した
メンバーにアクセス
ファイルメンバー処理
• 実装例 (OVRDBF, DLTOVR実行部)
宣言部
実装部