説明
この変数は、V4.2.1 BP2バージョンから導入されました。
機能の概要
ob_default_lob_inrow_thresholdは、テーブル作成時に、テーブル内のLOBフィールドのデフォルトの行内ストレージしきい値を指定するために使用されます。
適用対象
この変数はOceanBaseデータベースのMySQLモードにのみ適用されます。
権限要件
変数の確認
グローバルレベル
sysテナントとすべてのユーザーテナントはSHOW VARIABLESステートメント、またはinformation_schema.GLOBAL_VARIABLESビュー(MySQLモード)を使用してグローバルシステム変数の値を確認できます。セッションレベル
sysテナントとすべてのユーザーテナントはSHOW VARIABLESステートメント、またはinformation_schema.SESSION_VARIABLESビュー(MySQLモード)を使用してセッションシステム変数の値を確認できます。
変数の変更
グローバル有効
sysテナントはグローバルシステム変数の値を直接変更できます。MySQLユーザーテナントは
SUPERまたはALTER SYSTEM権限を持っている必要がありますグローバルシステム変数の値を変更できます。
セッション有効
sysテナントとすべてのユーザーテナントは、自身のテナントのセッションシステム変数の値を直接変更できます。
プロパティの説明
| プロパティ | 説明 |
|---|---|
| パラメータタイプ | Int |
| デフォルト値 | 8192、単位はバイト
説明この変数はV4.3.2バージョンからデフォルト値が4096から8192に調整されました。 |
| 値の範囲 | [0, 0.75M] 値が0の場合、INROWを禁止することを意味します。 |
| 適用範囲 |
|
| 変更は可能か | はい。SETまたはALTER SESSION SETステートメントを使用して変更できます。 |
使用方法
ob_default_lob_inrow_thresholdはグローバルレベルのシステム変数であり、実際には新規作成されるテーブル(既存のテーブルには影響しません)のテーブルレベルプロパティlob_inrow_thresholdの値に影響します。システム変数ob_default_lob_inrow_thresholdを変更すると、新規作成されるテーブルのLOB列の行内および行外ストレージしきい値に影響します。テーブルレベルプロパティlob_inrow_thresholdを変更すると、そのテーブルの行内および行外ストレージに影響します。テーブル作成時にlob_inrow_thresholdが指定されていない場合、システム変数ob_default_lob_inrow_threshold`の値がそのテーブルのLOB列の行内および行外ストレージのしきい値となります。
設定例
LOB_INROW_THRESHOLDが指定されていない例は以下のとおりです:
ob_default_lob_inrow_thresholdの値を40960バイトに設定します。セッションレベルでの設定
obclient> SET ob_default_lob_inrow_threshold = 40960;グローバルレベルでの設定
obclient> SET GLOBAL ob_default_lob_inrow_threshold = 40960;
テーブル
tを作成します。この時点でLOB_INROW_THRESHOLDは指定されていません。obclient> CREATE TABLE t(pk int, data text);その場合、システム変数
ob_default_lob_inrow_thresholdの値がしきい値として使用されます。つまり、テーブルtのINROWしきい値は40960バイトとなります。