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

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

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

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

パフォーマンスに悪影響を与える 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();
}