説明
V4.4.2バージョンでは、この変数はV4.4.2 BP1バージョンから導入されました。
機能の概要
json_float_full_precisionは、JSON内の数値を解析する際の精度モードを制御します。
権限要件
変数の確認
グローバルレベル
sysテナントとすべてのユーザーテナントはSHOW VARIABLESステートメント、またはSYS.TENANT_VIRTUAL_GLOBAL_VARIABLEビュー(Oracleモード)およびinformation_schema.GLOBAL_VARIABLESビュー(MySQLモード)を使用してグローバルシステム変数の値を確認できます。セッションレベル
sysテナントとすべてのユーザーテナントはSHOW VARIABLESステートメント、またはSYS.TENANT_VIRTUAL_SESSION_VARIABLEビュー(Oracleモード)およびinformation_schema.SESSION_VARIABLESビュー(MySQLモード)を使用してセッションシステム変数の値を確認できます。
変数の変更
グローバル有効
sysテナントはグローバルシステム変数の値を直接変更できます。- MySQLユーザーテナントは
SUPERまたはALTER SYSTEM権限が必要です。 - Oracleユーザーテナントは
ALTER SYSTEM権限が必要です。
セッション有効
sysテナントとすべてのユーザーテナントは、自身のテナントに属するセッションシステム変数の値を直接変更できます。
プロパティの説明
プロパティ |
説明 |
|---|---|
| パラメータタイプ | Bool |
| デフォルト値 | False |
| 値の範囲 |
|
| 適用範囲 |
|
| 変更は可能か | はい。SETステートメントを使用して変更できます。 |
使用方法
json_float_full_precision機能は、PolarDBなど同様のオプションをサポートする他のデータベースから移行する際の互換性サポートを提供するために主に使用されます。値は以下のとおりです:
True:JSON内の数値を高精度で解析しますが、解析速度が低下します。False:JSON内の数値を低精度で解析します。解析速度は速くなります。
設定例
セッション適用:
JSON内の数値を低精度で解析し、速度を優先します。
obclient> SET json_float_full_precision = False;JSON内の数値を高精度で解析し、速度を犠牲にします。
obclient> SET json_float_full_precision = True;
グローバル適用:
JSON内の数値を低精度で解析し、速度を優先します。
obclient> SET GLOBAL json_float_full_precision = False;JSON内の数値を高精度で解析し、速度を犠牲にします。
obclient> SET GLOBAL json_float_full_precision = True;