次の方法で共有


セットベースからレコード単位への操作の変換

次のステートメントとメソッドを使用して、アプリケーションとデータベース間の通信を減らすことにより、パフォーマンスを向上させることができます。

状況によっては、これらのレコード セット ベースの操作をより低速のレコードごとの操作に変換できます。 次のテーブルは、これらの状況を識別します。

状況 delete_from update_recordset insert_recordset RecordSortedList, RecordInsertList 上書きに使用
非 SQL テーブル 該当なし
アクションの削除 skipDeleteActions
データベース ログが有効になっています。 skipDatabaseLog
オーバーライドされたメソッド skipDataMethods
警告はテーブルの設定をします。 skipEvents
テーブルの ValidTimeStateFieldType プロパティがなし以外の値に設定されています。 有効 有効 有効 有効 該当なし

「上書きに使用」列で表示される skip* 設定を使用して、パフォーマンスに悪影響を与える 1 つまたは複数の要因を明示的にスキップまたは無視できます。 何らかの理由で、前述の SQL 操作のいずれかがレコードごとの操作にダウングレードされた場合、すべての skip* 設定は無視されます。 たとえば、次のコードでは、コンテナーまたはメモ フィールドが myTable で定義されている場合はこの方法をスキップする必要があると明確に示されていても、myTable テーブルで挿入メソッドが実行されます。

public void tutorialRecordInsertList()
{
    MyTable myTable;
    RecordInsertList insertList = new RecordInsertList(
        myTable.TableId,
        True);
    int i;
    for ( i = 1; i <=  100; i++ )
    {
        myTable.value = i;
        insertList.add(myTable);
    }
    insertList.insertDatabase();
}