全部产品
Search
文档中心

PolarDB:Buat IMCI saat Anda membuat tabel

更新时间:Jul 06, 2025

Topik ini menjelaskan cara membuat indeks kolom dalam memori (IMCI) saat membuat tabel.

Prasyarat

Setelah menambahkan node penyimpanan kolom hanya-baca ke kluster dan mengonfigurasi titik akhir kluster, Anda dapat terhubung ke kluster menggunakan titik akhir kluster dan menggunakan Pernyataan SQL untuk membuat serta mengelola IMCI.

  • Node penyimpanan kolom hanya-baca telah ditambahkan. Untuk informasi lebih lanjut, lihat Tambahkan Node Penyimpanan Kolom Hanya-Baca.

  • Titik akhir kluster telah dikonfigurasi. Solusi distribusi permintaan manual dan otomatis dapat digunakan untuk mendistribusikan permintaan ke node penyimpanan baris dan kolom. Anda dapat memilih solusi distribusi permintaan berdasarkan kebutuhan bisnis dan mengonfigurasi titik akhir kluster. Untuk informasi lebih lanjut, lihat Ikhtisar Distribusi Permintaan.

  • Kluster database terhubung menggunakan titik akhir kluster. Untuk informasi lebih lanjut, lihat Hubungkan ke Kluster.

Buat IMCI

  • Gunakan sintaks CREATE TABLE:

    • Saat menggunakan pernyataan CREATE TABLE untuk membuat tabel, tambahkan string COLUMNAR=1 ke bidang COMMENT untuk membuat IMCI. Penambahan ini tidak memerlukan perubahan pada parameter lain dari pernyataan tersebut dan tidak memengaruhi parameter lainnya.

    • Untuk menambahkan IMCI pada satu kolom, tambahkan string COLUMNAR=1 ke bidang COMMENT dari kolom tersebut. Untuk menambahkan IMCI pada semua kolom yang tipe datanya mendukung pembuatan IMCI, tambahkan string tersebut ke bidang COMMENT di akhir pernyataan CREATE TABLE.

      Catatan
      • Mulai dari PolarDB for MySQL 8.0.1.1.25, Anda dapat membuat IMCI pada kolom dengan tipe data BLOB atau TEXT.

      • Mulai dari PolarDB for MySQL 8.0.1.1.28, Anda dapat membuat IMCI pada kolom dengan tipe data ENUM.

      • Mulai dari PolarDB for MySQL 8.0.1.1.29, Anda dapat membuat IMCI pada tabel partisi.

      • Mulai dari PolarDB for MySQL 8.0.1.1.30, Anda dapat membuat IMCI pada kolom dengan tipe data BIT, JSON, atau Geo.

      • Anda tidak dapat membuat IMCI pada kolom dengan tipe data SET.

    Contoh:

    CREATE TABLE t1(
      col1 INT COMMENT 'COLUMNAR=1',
      col2 DATETIME COMMENT 'COLUMNAR=1',
      col3 VARCHAR(200)
    ) ENGINE InnoDB;
    
    CREATE TABLE t2(
      col1 INT,
      col2 DATETIME,
      col3 VARCHAR(200)
    ) ENGINE InnoDB COMMENT 'COLUMNAR=1';

    Pada contoh-contoh di atas:

    • IMCI dibuat pada kolom col1 dan col2 dari tabel t1.

    • IMCI dibuat pada semua kolom tabel t2. Tipe data kolom col1, col2, dan col3 mendukung pembuatan IMCI.

  • Gunakan sintaks CREATE TABLE LIKE: Jika Anda mengeksekusi pernyataan CREATE TABLE LIKE untuk membuat tabel dan tabel sumber berisi IMCI, tabel tujuan akan berisi IMCI yang sama.

  • Gunakan sintaks CREATE TABLE ... SELECT: Saat mengeksekusi pernyataan CREATE TABLE ... SELECT untuk membuat tabel, Anda dapat menambahkan string COLUMNAR=1 ke bidang COMMENT tabel untuk membuat IMCI pada semua kolom tabel. Namun, Anda tidak dapat menggunakan pernyataan CREATE TABLE ... SELECT untuk secara terpisah membuat IMCI pada kolom tertentu.

    Contoh:

    CREATE TABLE t3(
      col1 INT,
      col2 DATETIME,
      col3 VARCHAR(200)
    ) ENGINE InnoDB;
    
    CREATE TABLE t4 COMMENT 'COLUMNAR=1' SELECT col1, col2 FROM t3;

    Pada contoh-contoh di atas:

    String COMMENT 'COLUMNAR=1' valid untuk tabel t4. Pernyataan ini membuat IMCI pada semua kolom tabel t4, termasuk kolom col1 dan col2 serta kolom yang ditambahkan kemudian.

Catatan

Saat menambahkan string COLUMNAR=1 ke bidang COMMENT, perhatikan poin-poin berikut: 1) COLUMNAR tidak peka huruf besar/kecil. 2) Anda tidak perlu menggunakan pemisah antara COLUMNAR=1 dan bagian asli dari bidang COMMENT. 3) Menambahkan COLUMNAR=1 tidak memengaruhi bagian aslinya.

Lihat struktur IMCI dari sebuah tabel

  • Sintaks: Anda dapat mengeksekusi pernyataan SHOW CREATE TABLE <tablename> FULL untuk melihat informasi pembuatan IMCI dari sebuah tabel.

  • Contoh:

    SHOW CREATE TABLE test.t2;
    *************************** 1. row ***************************
           Table: t2
    Create Table: CREATE TABLE `t2` (
      `col1` int(11) DEFAULT NULL,
      `col2` datetime DEFAULT NULL,
      `col3` varchar(200) DEFAULT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='COLUMNAR=1'
    
    SHOW CREATE TABLE test.t2 FULL;
    *************************** 1. row ***************************
           Table: t2
    Create Table: CREATE TABLE `t2` (
      `col1` int(11) DEFAULT NULL,
      `col2` datetime DEFAULT NULL,
      `col3` varchar(200) DEFAULT NULL,
      COLUMNAR INDEX (`col1`,`col2`,`col3`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='COLUMNAR=1'

    Pada contoh-contoh di atas:

    • Pernyataan SHOW CREATE TABLE <tablename> hanya menampilkan pengaturan bidang COMMENT. Informasi pembuatan IMCI tidak ditampilkan.

    • Untuk menampilkan informasi pembuatan IMCI, Anda harus mengeksekusi pernyataan SHOW CREATE TABLE <tablename> FULL. Anda dapat menemukan informasi pembuatan IMCI di bidang COLUMNAR INDEX.