全部产品
Search
文档中心

PolarDB:PERIKSA INDEKS GLOBAL

更新时间:Jul 03, 2025

Gunakan pernyataan PERIKSA INDEKS GLOBAL untuk memeriksa konsistensi data antara tabel dasar dan tabel indeks. Setelah itu, Anda dapat memperbaiki data yang tidak konsisten.

Sintaksis

PERIKSA INDEKS GLOBAL gsi_name [ON tbl_name] [extra_cmd]
ParameterDeskripsi
gsi_nameNama indeks sekunder global yang perlu diverifikasi.
tbl_nameOpsional. Nama tabel dasar tempat indeks sekunder global dibuat. Jika Anda memasukkan nama tabel dasar, sistem akan memeriksa apakah hubungan indeks antara tabel indeks sekunder global dan tabel dasar valid.
extra_cmdInstruksi tambahan yang disediakan. Nilai yang valid:
  • -: menentukan bahwa hanya indeks sekunder global yang diperiksa jika tidak ada kata kunci yang ditentukan.
  • TAMPILKAN: menampilkan hasil verifikasi atau koreksi terakhir untuk tabel indeks sekunder global tertentu.
  • KOREKSI_BERDASARKAN_PRIMER: memperbaiki data di tabel indeks sekunder global berdasarkan tabel dasar.
Catatan
  • Verifikasi atau perbaikan data pada indeks sekunder global menggunakan sumber daya sistem. Biasanya, ini terjadi dalam skenario di mana data pada tabel dasar atau tabel indeks dikunci dan diperbaiki secara batch selama operasi koreksi. Disarankan untuk menjalankan operasi ini selama jam sepi. Untuk informasi lebih lanjut tentang penggunaan indeks sekunder global, lihat GSI.
  • Memverifikasi indeks sekunder global pada tabel besar dapat memakan waktu lama. Sebagai solusi, Anda dapat menggunakan HINT untuk menentukan PURE_ASYNC_DDL_MODE. Dengan cara ini, pernyataan DDL akan dieksekusi dalam mode asinkron murni.

Contoh

  • Eksekusi pernyataan berikut untuk verifikasi:
    PERIKSA INDEKS GLOBAL `g_i_check`;
    • Jika tidak ada kesalahan selama verifikasi, hasil berikut akan ditampilkan:
      +-------------+------------+--------+-------------+-----------------------------+
      | GSI_TABLE   | ERROR_TYPE | STATUS | PRIMARY_KEY | DETAILS                     |
      +-------------+------------+--------+-------------+-----------------------------+
      | `g_i_check` | SUMMARY    | --     | --          | OK (7025/7025 baris diperiksa) |
      +-------------+------------+--------+-------------+-----------------------------+
      1 baris dalam set (1,40 detik)
    • Jika kesalahan ditemukan selama verifikasi, hasil berikut akan ditampilkan:
      +-------------+------------+--------+-------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
      | GSI_TABLE   | ERROR_TYPE | STATUS | PRIMARY_KEY | DETAILS                                                                                                                                                                                                                                                                                                                                                                                        |
      +-------------+------------+--------+-------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
      | `g_i_check` | ORPHAN     | FOUND  | (100722)    | {"GSI":{"id":100722,"c_timestamp_6":"2000-01-01 00:00:00.000000","c_timestamp_3":"2000-01-01 00:00:00.000","c_timestamp_1":"2000-01-01 00:00:00.0","c_binary":"OTkAAAAAAAAAAA==","c_int_32":271}}                                                                                                                                                                                              |
      | `g_i_check` | CONFLICT   | FOUND  | (108710)    | {"Primary":{"id":108710,"c_timestamp_6":"2000-01-01 00:00:00.000000","c_timestamp_3":"2000-01-01 00:00:00.000","c_timestamp_1":"2000-01-01 00:00:00.0","c_year":"2000","c_int_32":255},"GSI":{"c_int_32_un":123456,"id":108710,"c_timestamp_6":"2000-01-01 00:00:00.000000","c_timestamp_3":"2000-01-01 00:00:00.000","c_timestamp_1":"2000-01-01 00:00:00.0","c_year":"2000","c_int_32":255}} |
      | `g_i_check` | MISSING    | FOUND  | (100090)    | {"Primary":{"id":100090,"c_timestamp_6":"2000-01-01 00:00:00.000000","c_timestamp_3":"2000-01-01 00:00:00.000","c_timestamp_1":"2000-01-01 00:00:00.0","c_blob_tiny":"YeS4reWbvWE=","c_int_32":280}}                                                                                                                                                                                           |
      | `g_i_check` | SUMMARY    | --     | --          | 3 kesalahan ditemukan (7025/7025 baris diperiksa)                                                                                                                                                                                                                                                                                                                                                         |
      +-------------+------------+--------+-------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
      4 baris dalam set (1,92 detik)
      Catatan Jika data memiliki beberapa jenis kesalahan, beberapa nilai ERROR_TYPE akan ditampilkan untuk baris data yang sama.
  • Eksekusi pernyataan berikut untuk koreksi:
    PERIKSA INDEKS GLOBAL g_i_check KOREKSI_BERDASARKAN_PRIMER;

    Hasil berikut akan ditampilkan:

    +-------------+------------+--------+-------------+------------------------------------------------------------------------+
    | GSI_TABLE   | ERROR_TYPE | STATUS | PRIMARY_KEY | DETAILS                                                                |
    +-------------+------------+--------+-------------+------------------------------------------------------------------------+
    | `g_i_check` | SUMMARY    | --     | --          | Selesai. Gunakan SQL: { PERIKSA INDEKS GLOBAL `g_i_check` TAMPILKAN; } untuk mendapatkan hasil. |
    +-------------+------------+--------+-------------+------------------------------------------------------------------------+
    1 baris dalam set (1,40 detik)
  • Eksekusi pernyataan berikut untuk melihat laporan verifikasi atau koreksi terbaru:
    PERIKSA INDEKS GLOBAL `g_i_check` TAMPILKAN;

    Hasil berikut akan ditampilkan:

    +-------------+------------+----------+-------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | GSI_TABLE   | ERROR_TYPE | STATUS   | PRIMARY_KEY | DETAILS                                                                                                                                                                                                                                                                                                                                                                                        |
    +-------------+------------+----------+-------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | `g_i_check` | MISSING    | DIPERBAIKI | (100090)    | {"Primary":{"id":100090,"c_timestamp_6":"2000-01-01 00:00:00.000000","c_timestamp_3":"2000-01-01 00:00:00.000","c_timestamp_1":"2000-01-01 00:00:00.0","c_blob_tiny":"YeS4reWbvWE=","c_int_32":280}}                                                                                                                                                                                           |
    | `g_i_check` | CONFLICT   | DIPERBAIKI | (108710)    | {"Primary":{"id":108710,"c_timestamp_6":"2000-01-01 00:00:00.000000","c_timestamp_3":"2000-01-01 00:00:00.000","c_timestamp_1":"2000-01-01 00:00:00.0","c_year":"2000","c_int_32":255},"GSI":{"c_int_32_un":123456,"id":108710,"c_timestamp_6":"2000-01-01 00:00:00.000000","c_timestamp_3":"2000-01-01 00:00:00.000","c_timestamp_1":"2000-01-01 00:00:00.0","c_year":"2000","c_int_32":255}} |
    | `g_i_check` | ORPHAN     | DIPERBAIKI | (100722)    | {"GSI":{"id":100722,"c_timestamp_6":"2000-01-01 00:00:00.000000","c_timestamp_3":"2000-01-01 00:00:00.000","c_timestamp_1":"2000-01-01 00:00:00.0","c_binary":"OTkAAAAAAAAAAA==","c_int_32":271}}                                                                                                                                                                                              |
    | `g_i_check` | SUMMARY    | --       | --          | 3 kesalahan ditemukan (7025/7026 baris diperiksa.) Waktu selesai: 2020-01-13 14:41:51.0                                                                                                                                                                                                                                                                                                                     |
    +-------------+------------+----------+-------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    4 baris dalam set (0,02 detik)

Tabel 1. Deskripsi kolom

KolomDeskripsi
GSI_TABLENama indeks sekunder global.
ERROR_TYPEJenis kesalahan. Nilai yang valid:
  • MISSING: indeks hilang
  • ORPHAN: indeks yatim
  • CONFLICT: data indeks tidak konsisten
  • ERROR_SHARD: posisi kesalahan shard data
  • SUMMARY: ringkasan hasil
STATUSStatus. Nilai yang valid:
  • FOUND: Kesalahan ditemukan.
  • DIPERBAIKI: Masalah telah diperbaiki.
PRIMARY_KEYKunci primer tabel.
DETAILSDetail kesalahan.