Teradata - Indeks Sekunder
Sebuah tabel hanya dapat berisi satu indeks utama. Lebih sering, Anda akan menemukan skenario di mana tabel berisi kolom lain, yang datanya sering diakses. Teradata akan melakukan pemindaian tabel lengkap untuk kueri tersebut. Indeks sekunder mengatasi masalah ini.
Indeks sekunder adalah jalur alternatif untuk mengakses data. Ada beberapa perbedaan antara indeks primer dan indeks sekunder.
Indeks sekunder tidak terlibat dalam distribusi data.
Nilai indeks sekunder disimpan dalam sub tabel. Tabel ini dibuat di semua AMP.
Indeks sekunder bersifat opsional.
Mereka dapat dibuat selama pembuatan tabel atau setelah tabel dibuat.
Mereka menempati ruang tambahan karena mereka membangun sub-tabel dan mereka juga memerlukan pemeliharaan karena sub-tabel perlu diperbarui untuk setiap baris baru.
Ada dua jenis indeks sekunder -
- Unique Secondary Index (USI)
- Non-Unique Secondary Index (NUSI)
Unique Secondary Index (USI)
Indeks Sekunder Unik hanya mengizinkan nilai unik untuk kolom yang ditentukan sebagai USI. Mengakses baris oleh USI adalah operasi dua amp.
Buat Indeks Sekunder Unik
Contoh berikut membuat USI pada kolom EmployeeNo dari tabel karyawan.
CREATE UNIQUE INDEX(EmployeeNo) on employee;
Non Unique Secondary Index (NUSI)
Indeks Sekunder Non-Unik memungkinkan nilai duplikat untuk kolom yang ditentukan sebagai NUSI. Mengakses baris oleh NUSI adalah operasi all-amp.
Buat Indeks Sekunder Non Unik
Contoh berikut membuat NUSI pada kolom FirstName tabel karyawan.
CREATE INDEX(FirstName) on Employee;