Anda dapat menggunakan atribut tambahan dari Indeks Kolom dalam Memori (IMCI) untuk menyesuaikan IMCI. Topik ini menjelaskan atribut tambahan IMCI dan cara menggunakannya untuk penyesuaian.
Atribut tambahan
pack_shift
Atribut ini digunakan untuk mengonfigurasi ukuran grup baris data IMCI. Ukuran grup baris IMCI memengaruhi jumlah data yang disimpan di memori. Jika Anda menggunakan banyak tabel atau tabel partisi, Anda dapat menyesuaikan atribut ini. Nilai atribut ini harus berupa bilangan bulat dengan rentang valid antara 6 hingga 18. Secara default, jika atribut ini tidak ditentukan, nilai parameter loose_imci_default_pack_shift akan digunakan.
Untuk informasi lebih lanjut tentang parameter loose_imci_default_pack_shift, lihat Parameter Terkait IMCI. Anda dapat melihat dan mengonfigurasi parameter loose_imci_default_pack_shift di konsol PolarDB. Untuk detail lebih lanjut, lihat Tentukan Parameter Kluster dan Node.
codec_opt
Atribut ini digunakan untuk mengonfigurasi algoritma kompresi untuk IMCI. Untuk informasi lebih lanjut, lihat Atur Algoritma Kompresi.
order_key
Atribut ini digunakan untuk mengonfigurasi kunci pengurutan untuk IMCI. Untuk informasi lebih lanjut, lihat Konfigurasikan Kunci Pengurutan untuk IMCI.
pruner/pruner_minmax/pruner_bloom
Atribut ini digunakan untuk menentukan apakah akan membuat indeks sekunder pada kolom string guna mempercepat pemindaian data. Untuk informasi lebih lanjut, lihat Optimasi IMCI untuk Kueri Statistik.
Secara default, jika versi kluster adalah PolarDB for MySQL 8.0.1.1.35 atau yang lebih baru, indeks minmaks dan filter Bloom dibuat pada kolom string.
prefix_len
Atribut ini digunakan untuk mengonfigurasi panjang awalan pruner minmaks tipe string. Panjang awalan diukur dalam byte. Rentang valid untuk atribut ini adalah 1 hingga 255, dengan nilai default 20. Untuk informasi lebih lanjut, lihat bagian "Buat Indeks Minmaks Saat Membuat Tabel" dari topik Optimasi IMCI untuk Kueri Statistik.
write_policy
Atribut ini digunakan untuk mengonfigurasi kebijakan penulisan untuk data IMCI. Atribut ini memengaruhi jumlah ruang yang ditempati oleh data IMCI dan kinerja operasi penulisan. Nilai valid untuk atribut write_policy:
0: ForCapacity. Kebijakan ini memprioritaskan ruang penyimpanan, dan data IMCI dibagi serta ditulis di beberapa file untuk meminimalkan persentase fragmentasi. Dengan kebijakan ini, maksimal satu fragmen 4 KB dihasilkan dalam setiap operasi penulisan.
1: ForPerformance. Kebijakan ini memprioritaskan kinerja I/O saat data IMCI ditulis ke file bernama ExtentSize. Kebijakan ini memastikan kinerja I/O terbaik tetapi menghasilkan fragmentasi maksimum dan pemborosan ruang tinggi.
2: Skip4K. Kebijakan ini menunjukkan bahwa data 16 KB memenuhi persyaratan kinerja berdasarkan fitur Page Free Space (PFS), dan data dibagi dengan logika serupa dengan kebijakan ForCapacity. Saat ukuran data yang ditulis lebih dari 4 KB, ekstensi 4 KB diabaikan. Maksimal satu fragmen 16 KB dihasilkan dalam setiap operasi penulisan.
3: Tradeoff. Kebijakan ini memiliki prioritas lebih tinggi daripada kebijakan Skip4K. Jika ukuran data yang ditulis kurang dari 1 MB (unit ukuran I/O IMCI), kebijakan ini bekerja seperti kebijakan ForPerformance. Saat ukuran data yang ditulis lebih besar dari atau sama dengan 1 MB, data dibagi ke file yang berbeda.
Secara default, jika atribut write_policy tidak dikonfigurasi, nilai parameter loose_imci_default_write_policy akan digunakan. Parameter loose_imci_default_write_policy memiliki nilai valid yang sama dengan atribut write_policy. Anda dapat melihat dan mengonfigurasi parameter loose_imci_default_write_policy di konsol PolarDB. Untuk informasi lebih lanjut, lihat Tentukan Parameter Kluster dan Node.
Penggunaan atribut
Tentukan atribut tambahan saat Anda membuat tabel.
CREATE TABLE lineitem (l_orderkey INTEGER NOT NULL, l_partkey INTEGER NOT NULL, l_suppkey INTEGER NOT NULL, l_linenumber INTEGER NOT NULL, l_quantity DECIMAL(15,2) NOT NULL, l_extendedprice DECIMAL(15,2) NOT NULL, l_discount DECIMAL(15,2) NOT NULL, l_tax DECIMAL(15,2) NOT NULL, l_returnflag CHAR(1) NOT NULL, l_linestatus CHAR(1) NOT NULL, l_shipdate DATE NOT NULL, l_commitdate DATE NOT NULL, l_receiptdate DATE NOT NULL, l_shipinstruct CHAR(25) NOT NULL, l_shipmode CHAR(10) NOT NULL, l_comment VARCHAR(44) NOT NULL ) COMMENT "COLUMNAR=1 <optName>=<optValue>";Jalankan pernyataan DDL berikut untuk menentukan atribut tambahan:
CREATE TABLE lineitem COMMENT "COLUMNAR=1 <optName>=<optValue>";
Tabel berikut menjelaskan parameter yang termasuk dalam pernyataan sebelumnya.
Parameter | Deskripsi |
optName | Nama atribut tambahan. Contoh: pack_shift. |
optValue | Nilai atribut tambahan. |