Skip to main content

This documentation is for an older version of this product. See the latest version of this content.Opens in a new tab

LockThreshold

SQL テーブルレベルのロックしきい値を設定します。

Synopsis

[SQL]    LockThreshold=n

n は負ではない任意の整数です。既定値は 1000 です。

説明

LockThreshold パラメータは、自動ロック・エスカレーションしきい値です。1 つのトランザクション内で 1 つのテーブルに対して実行された挿入、更新、および削除の数がこの数に達すると、テーブルレベル・ロックがトリガされます。

以下の例を見てみましょう。あるプロセスが、2000 行を挿入するトランザクションを開始します。LockThreshold は 1000 に設定されています。1001 番目の行を挿入した後、このプロセスは、引き続き個々の行をロックするのではなく、テーブルレベルのロックを取得しようとします。これにより、ロックの合計数を減らし、ロック・テーブルが一杯になるのを防ぎます。

自動ロック・エスカレーションは、ロック・テーブルのオーバーフローを防ぐことを目的としています。詳細は、"InterSystems SQL リファレンス" の “INSERT” のリファレンス・ページにある "トランザクションのロックしきい値の変更" のセクションを参照してください。

このパラメータの変更

管理ポータルの [SQL] ページ ([システム管理] > [構成] > [SQL およびオブジェクトの設定] > [SQL]) で、[ロック・エスカレーションしきい値] フィールドに数値を入力します。

ターミナルから LockThreshold に目的の値を設定するには、%SYSTEM.SQL.UtilOpens in a new tab クラスの SetOption(“LockThreshold”)Opens in a new tab メソッドを使用します。詳細は、クラスリファレンスを参照してください。

Config.SQLOpens in a new tab クラスで (クラスリファレンスを参照)、または CPF をテキスト・エディタで編集することで (このドキュメントの “構成パラメータ・ファイルの概要” の章にある "アクティブな CPF の編集" のセクションを参照)、LockThreshold を変更することもできます。

関連項目

FeedbackOpens in a new tab