Teradata - İkincil Dizin
Bir tablo yalnızca bir birincil dizin içerebilir. Daha sık olarak, tablonun diğer sütunları içerdiği ve bunları kullanarak verilere sıklıkla erişilen senaryolarla karşılaşırsınız. Teradata, bu sorgular için tam tablo taraması gerçekleştirecektir. İkincil dizinler bu sorunu çözer.
İkincil dizinler, verilere erişmek için alternatif bir yoldur. Birincil dizin ile ikincil dizin arasında bazı farklılıklar vardır.
İkincil dizin, veri dağıtımına dahil değildir.
İkincil indeks değerleri alt tablolarda saklanır. Bu tablolar tüm AMP'lerde oluşturulmuştur.
İkincil dizinler isteğe bağlıdır.
Tablo oluşturma sırasında veya bir tablo oluşturulduktan sonra oluşturulabilirler.
Alt tablo oluşturdukları için ek alan kaplarlar ve ayrıca her yeni satır için alt tabloların güncellenmesi gerektiğinden bakım gerektirirler.
İki tür ikincil dizin vardır -
- Benzersiz İkincil Endeks (USI)
- Benzersiz Olmayan İkincil Endeks (NUSI)
Benzersiz İkincil Endeks (USI)
Benzersiz İkincil Dizin, USI olarak tanımlanan sütunlar için yalnızca benzersiz değerlere izin verir. Sıraya USI ile erişim iki amperlik bir işlemdir.
Benzersiz İkincil Dizin Oluşturun
Aşağıdaki örnek, çalışan tablosunun EmployeeNo sütununda USI oluşturur.
CREATE UNIQUE INDEX(EmployeeNo) on employee;
Benzersiz Olmayan İkincil Endeks (NUSI)
Benzersiz Olmayan İkincil Dizin, NUSI olarak tanımlanan sütunlar için yinelenen değerlere izin verir. Sıraya NUSI ile erişmek tamamen amfi işlemidir.
Benzersiz Olmayan İkincil Dizin Oluşturun
Aşağıdaki örnek, çalışan tablosunun FirstName sütununda NUSI oluşturur.
CREATE INDEX(FirstName) on Employee;