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

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

場合によっては、これらのレコード セット ベースの操作をレコードごとの操作に変換すると、パフォーマンスが低下する可能性があります。 次のテーブルは、これらの状況を識別します。

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

パフォーマンスに悪影響を与える 1 つ以上の要因を明示的にスキップまたは無視するには、[オーバーライドに使用] 列の skip* 設定を使用します。 前述の 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();
}