全部产品
Search
文档中心

Tablestore:Buat indeks sekunder

更新时间:Jun 24, 2025

Fitur indeks sekunder memungkinkan Anda menanyakan data berdasarkan kunci utama tabel data dan kolom indeks dari indeks sekunder yang dibuat. Jika ingin menggunakan kolom atribut tabel data untuk menanyakan data, Anda dapat membuat indeks sekunder untuk mempercepat kueri. Saat membuat indeks sekunder, Anda dapat mengatur kolom indeks atau kolom atribut ke kolom yang telah ditentukan sebelumnya saat pembuatan tabel data. Setelah pembuatan indeks sekunder, Anda dapat menggunakannya untuk menanyakan data.

null
  • Indeks sekunder diklasifikasikan menjadi indeks sekunder global dan lokal. Untuk informasi lebih lanjut tentang fitur indeks sekunder, lihat Ikhtisar.

  • Anda dapat membuat satu atau lebih tabel indeks saat membuat tabel data dengan memanggil operasi CreateTable. Untuk informasi lebih lanjut, lihat Buat tabel data.

Prasyarat

  • Sebuah instance OTSClient telah diinisialisasi. Untuk informasi lebih lanjut, lihat Inisialisasi instance OTSClient.

  • Tabel data tempat parameter maxVersions disetel ke 1 telah dibuat. Salah satu dari kondisi berikut harus dipenuhi oleh parameter timeToLive tabel data:

    • Parameter timeToLive tabel data disetel ke -1, yang menandakan bahwa data dalam tabel tidak pernah kedaluwarsa.

    • Parameter timeToLive tabel data disetel ke nilai selain -1, dan operasi pembaruan pada tabel dilarang.

  • Kolom yang telah ditentukan sebelumnya telah ditetapkan untuk tabel data.

Catatan penggunaan

  • Tablestore SDK untuk .NET hanya mendukung pembuatan indeks sekunder global. Untuk menggunakan fitur indeks sekunder lokal, gunakan Tablestore SDK untuk bahasa pemrograman lain, konsol Tablestore, atau CLI Tablestore.

  • Nama tabel indeks harus berbeda dari nama tabel seri waktu atau tabel data yang ada.

  • Saat membuat indeks sekunder, Tablestore secara otomatis menambahkan kolom kunci utama tabel data yang tidak ditentukan sebagai kolom indeks ke indeks sekunder sebagai kolom kunci utama indeks sekunder.

Parameter

Parameter

Deskripsi

mainTableName

Nama tabel data.

indexMeta

Informasi skema tentang tabel indeks. Informasi skema berisi parameter berikut:

  • indexName: nama tabel indeks.

  • primaryKey: kunci utama tabel indeks, yang merupakan kombinasi dari semua kolom kunci utama dan jumlah acak kolom yang telah ditentukan sebelumnya dari tabel data.

  • definedColumns: kolom atribut tabel indeks. Kolom atribut adalah kombinasi dari kolom yang telah ditentukan sebelumnya dari tabel data.

  • indexUpdateMode: mode pembaruan tabel indeks. Nilai valid: IUM_ASYNC_INDEX.

  • indexType: tipe tabel indeks. Nilai valid: IT_GLOBAL_INDEX.

Contoh

Berikut ini adalah contoh kode yang mengilustrasikan cara membuat indeks sekunder global tanpa menyertakan data yang sudah ada di tabel data tempat indeks sekunder global dibuat. Dalam contoh ini, kolom kunci utama tabel data adalah pk1 dan pk2. Kolom kunci utama dan kolom atribut yang ditentukan untuk indeks sekunder global masing-masing adalah col1 dan col2. Kolom kunci utama tabel indeks terdiri dari col1, pk1, dan pk2. Kolom atribut tabel indeks adalah col2.

public static void CreateGlobalIndex(OTSClient otsClient, String TableName, String IndexName)
{
    Console.WriteLine("Mulai buat globalIndex...");
    IndexMeta indexMeta = new IndexMeta(IndexName);
    // Tentukan kolom kunci utama 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 telah dibuat, tableName: " + TableName + ", IndexName:" + IndexName);

 }

Referensi

  • Setelah membuat indeks sekunder, Anda dapat menggunakannya untuk membaca satu baris data atau data dengan nilai kunci utama dalam rentang tertentu. Untuk informasi lebih lanjut, lihat Gunakan indeks sekunder untuk membaca data.

  • Anda dapat menghapus indeks sekunder yang tidak lagi digunakan. Untuk informasi lebih lanjut, lihat Hapus indeks sekunder.