すべてのプロダクト
Search
ドキュメントセンター

PolarDB:チェックグローバルインデックス

最終更新日:May 27, 2024

CHECK GLOBAL INDEX文を実行して、実テーブルとインデックステーブルの間でデータが一致しているかどうかを確認できます。 次に、一貫性のないデータを変更できます。

構文

チェックグローバルインデックスgsi_name [ON tbl_name] [extra_cmd]
パラメーター説明
gsi_name検証が必要なグローバルセカンダリインデックスの名前。
tbl_nameオプションです。 グローバルセカンダリインデックスが作成されるベーステーブルの名前。 ベーステーブルの名前を入力すると、グローバルセカンダリインデックステーブルとベーステーブルの間のインデックス関係が有効かどうかがチェックされます。
extra_cmd予約済みの追加命令。 有効な値:
  • -: キーワードが指定されていない場合、グローバルセカンダリインデックスのみがチェックされることを指定します。
  • SHOW: 指定されたグローバルセカンダリ索引テーブルの最新の検証または修正の結果を表示します。
  • CORRECTION_BASED_ON_PRIMARY: ベーステーブルに基づいてグローバルセカンダリインデックステーブルのデータを修正します。
説明
  • グローバル2次インデックステーブルのデータが検証または修正されると、システムリソースが占有されます。 ほとんどの場合、これは、ベーステーブルまたはインデックステーブルのデータが修正操作中にバッチでロックおよび修正されるシナリオで発生します。 これらの操作は、オフピーク時に実行することを推奨します。 グローバルセカンダリインデックスの使用方法の詳細については、GSI.
  • 大きなテーブルのグローバルセカンダリインデックスの検証には長い時間がかかる場合があります。 解決策として、HINTを使用してPURE_ASYNC_DDL_MODEを指定できます。 このように、DDL文は純粋な非同期モードで実行されます。

  • 検証のために次のステートメントを実行できます。
    CHECK GLOBAL INDEX 'g_i_check ';
    • 検証中にエラーが報告されなかった場合、次の結果が返されます
      。| GSI_TABLE | ERROR_TYPE | ステータス | PRIMARY_KEY | 詳細 |
      + ----------- ------------------------------------------------- ----------------------------- +
      | 'g_i_check '| 概要 | -- | -- | OK (7025/7025行チェック) |
      + ----------- ------------------------------------------------- ----------------------------- +
      1行セット (1.40秒) 
    • 検証中にエラーが報告された場合、次の結果が返されます
      。+ ------------ + ------------- + ----------------------- + ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ +
      | GSI_TABLE | ERROR_TYPE | ステータス | PRIMARY_KEY | 詳細 |
      + ----------- ------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ +
      | 'g_i_check '| ORPHAN | FOUND | (100722) | {"GSI":{"id":100722,"c_timestamp_6":"2000-01 00:00:00:00. 000000","c_timestamp_3":"2000-01 00:00.000" 、"c_timestamp_1":"00:01-c01": 0 "。" OTkAAAAAAAAAAA=="," c_int_32 ":271}} |
      | 'g_i_check '| CONFLICT | (108710) | {"Primary":{"id":108710,"c_timestamp_6":"2000-01 00:00:00.000000","c_timestamp_3":"2000-01 00:00.000" 、"c_timestamp_1":"2000-01" 00:01-00 "、" 00:01 ": 2000" "c_int_32":255} 、"GSI":{"c_int_32_un":123456、"id":108710、"c_timestamp_6":"2000-01 00:00:00.000000" 、"c_timestamp_3":"2000-01 00:00.000" 、"c_timestamp_1":":" 00:01 "00:01-" 、"2000。" c_int_32 ":255}} |
      | 'g_i_check '| MISSING | (100090) | {"Primary":{"id":100090,"c_timestamp_6":"2000-01 00:00:00.000000","c_timestamp_3":"2000-01-01 00:00:00-" reb_blo_" "00:00" 、"c_blo_b00" 、"00:01" 。"c_int_32":280}} |
      | 'g_i_check '| 概要 | -- | -- | 3エラーが見つかりました (7025/7025行がチェックされました) |
      + ----------- ------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ +
      セットの4列 (1.92秒) 
      説明 データに複数の種類のエラーがある場合、同じデータ行に対して複数のERROR_TYPE値が返されます。
  • 修正のために次のステートメントを実行できます。
    CHECK GLOBAL INDEX g_i_check CORRECTION_BASED_ON_PRIMARY;

    次の応答が返されます。

    + ----------- ------------------------------------------------- ------------------------------------------------------------------------ +
    | GSI_TABLE | ERROR_TYPE | ステータス | PRIMARY_KEY | 詳細 |
    + ----------- ------------------------------------------------- ------------------------------------------------------------------------ +
    | 'g_i_check '| 概要 | -- | -- | | 完了しました。 SQL: { CHECK GLOBAL INDEX 'g_i_check 'SHOW; } を使用して結果を取得します。 |
    + ----------- ------------------------------------------------- ------------------------------------------------------------------------ +
    1行セット (1.40秒) 
  • 次のステートメントを実行して、最新の検証または修正のレポートを表示できます。
    CHECK GLOBAL INDEX 'g_i_check 'SHOW;

    次の応答が返されます。

    + ----------- ---------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ +
    | GSI_TABLE | ERROR_TYPE | ステータス | PRIMARY_KEY | 詳細 |
    ------------ --------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ +
    | 'g_i_check '| MISSING | REPAIRED | (100090) | {"Primary":{"id":100090,"c_timestamp_6":"2000-01 00:00:00:00. 000000","c_timestamp_3":"2000-blo_b01" 00:00 "、" blo_b01 "、" 00:00: "、" "c_int_32":280}} |
    | 'g_i_check '| CONFLICT | REPAIRED | (108710) | {"Primary":{"id":108710,"c_timestamp_6":"2000-01 00:00:00.000000","c_timestamp_3":"2000-01 00:00.000":"2000-c01" 00:00.000 ":" 00:00 "" c_int_32 ":255} 、" GSI ":{" c_int_32_un ":123456、" id ":108710、" c_timestamp_6 ":" 2000-01 00:00:00.000000 "、" c_timestamp_3 ":" 2000-01 00:00.000 "、" c_timestamp_1 ":":"00:01" 00:01-"、" 2000。"c_int_32":255}} |
    | 'g_i_check '| ORPHAN | REPAIRED | (100722) | {"GSI":{"id":100722,"c_timestamp_6":"2000-01-01 00:00:00.000000","c_timestamp_3":"2000-01 00:00.000" 、"c_timestamp_1:":"00:01-" 。"OTkAAAAAAAAAAA==","c_int_32":271}} |
    | 'g_i_check '| 概要 | -- | -- | 3つのエラーが見つかりました (7025/7026行がチェックされました) 。終了時間: 2020-01-13 14:41:51.0 |
    ------------ --------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ +
    セットの4列 (0.02秒) 
表1. 列の説明
説明
GSI_TABLEグローバルセカンダリインデックスの名前。
ERROR_TYPEエラータイプ。 有効な値:
  • 行方不明: 欠落しているインデックス
  • ORPHAN: 孤児のインデックス
  • CONFLICT: 一貫性のないインデックスデータ
  • ERROR_SHARD: データシャードの位置エラー
  • 概要: 結果の概要
ステータス状態だ 有効な値:
  • FOUND: エラーが見つかりました。
  • 修復: 問題は修正されました。
PRIMARY_KEYテーブルの主キー。
詳細エラーの詳細。