Fitur indeks sekunder memungkinkan Anda melakukan kueri data berdasarkan kolom kunci primer dari tabel data dan kolom indeks dari indeks sekunder. Untuk mempercepat kueri pada kolom atribut, buat indeks sekunder pada tabel data tersebut. Saat membuat indeks sekunder, tetapkan kolom indeks atau kolom atributnya ke kolom pradefinisi yang telah ditentukan saat pembuatan tabel.
Indeks sekunder diklasifikasikan menjadi global secondary index dan local secondary index. Untuk informasi selengkapnya, lihat Ikhtisar.
Anda juga dapat membuat tabel indeks saat membuat tabel data dengan memanggil operasi CreateTable. Untuk informasi selengkapnya, lihat Buat tabel data.
Prasyarat
Sebelum memulai, pastikan Anda telah memiliki:
Instans OTSClient yang telah diinisialisasi. Untuk informasi selengkapnya, lihat Inisialisasi instans OTSClient.
-
Tabel data dengan parameter
maxVersionsdiatur ke1. ParametertimeToLivepada tabel data harus memenuhi salah satu kondisi berikut:timeToLivediatur ke-1, yang berarti data tidak pernah kedaluwarsa.timeToLivediatur ke nilai selain-1, dan operasi pembaruan pada tabel data dilarang.
Kolom pradefinisi yang telah ditentukan untuk tabel data.
Catatan penggunaan
Tablestore SDK untuk .NET hanya mendukung global secondary index. Untuk membuat local secondary index, gunakan Tablestore SDK untuk bahasa pemrograman lain, Konsol Tablestore, atau CLI Tablestore.
Nama tabel indeks harus berbeda dari nama tabel deret waktu atau tabel data yang sudah ada.
Saat membuat indeks sekunder, Tablestore secara otomatis menambahkan semua kolom kunci primer dari tabel data yang tidak ditentukan sebagai kolom indeks ke dalam indeks sekunder sebagai kolom kunci primernya.
Parameter
|
Parameter |
Deskripsi |
|
mainTableName |
Nama tabel data. |
|
indexMeta |
Skema tabel indeks. Parameter ini mencakup bidang-bidang berikut:
|
Contoh
Contoh berikut membuat global secondary index yang tidak menyertakan data yang sudah ada dari tabel data. Tabel data memiliki dua kolom kunci primer: pk1 dan pk2. Kolom indeks adalah col1 dan kolom atribut adalah col2. Tabel indeks yang dihasilkan memiliki tiga kolom kunci primer (col1, pk1, dan pk2) dan satu kolom atribut (col2).
public static void CreateGlobalIndex(OTSClient otsClient, String TableName, String IndexName)
{
Console.WriteLine("Start create globalIndex...");
IndexMeta indexMeta = new IndexMeta(IndexName);
// Tentukan kolom kunci primer untuk tabel indeks.
indexMeta.PrimaryKey = new List<string>() { "col1" };
// Tentukan kolom atribut untuk tabel indeks.
indexMeta.DefinedColumns = new List<string>() { "col2" };
//indexMeta.IndexType = IndexType.IT_GLOBAL_INDEX;
//indexMeta.IndexUpdateModel = IndexUpdateMode.IUM_ASYNC_INDEX;
CapacityUnit reservedThroughput = new CapacityUnit(0, 0);
CreateGlobalIndexRequest request = new CreateGlobalIndexRequest(TableName, indexMeta);
otsClient.CreateGlobalIndex(request);
Console.WriteLine("Global Index is created,tableName: " + TableName + ",IndexName:" + IndexName);
}
Langkah berikutnya
Setelah membuat indeks sekunder, baca satu baris atau rentang baris menggunakan indeks tersebut. Untuk informasi selengkapnya, lihat Gunakan indeks sekunder untuk membaca data.
Untuk menghapus indeks sekunder yang tidak lagi diperlukan, lihat Hapus indeks sekunder.