次の方法で共有


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

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

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

状況 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();
}