SQL'de hangi tür indeksler vardır?
sobes.tech yapay zeka
AI'dan gelen yanıt
-
B-ağaç (B-tree): En yaygın kullanılan türdür. Çoğu okuma işlemi için uygundur,
WHERE,LIKE,ORDER BYdahil.CREATE INDEX idx_column ON table_name (column_name); -
Hash (Hash): Kesin eşleşmeler (
=) için optimize edilmiştir. Aralık sorguları veya sıralama desteklemez.-- Söz dizimi örneği, SGBD'ye göre değişebilir CREATE INDEX idx_column ON table_name USING HASH (column_name); -
Tam Metin (Full-Text): Büyük metin alanlarında (
VARCHAR,TEXT) arama yapmak için kullanılır.-- MySQL'de söz dizimi örneği CREATE FULLTEXT INDEX idx_text ON table_name (text_column); -- PostgreSQL'de söz dizimi örneği CREATE INDEX idx_text ON table_name USING GIN (to_tsvector('russian', text_column)); -
Uzamsal (Spatial): Coğrafi verilerin indekslenmesi için kullanılır (noktalar, çizgiler, çokgenler).
GEOMETRYveyaGEOGRAPHYgibi veri tipleriyle kullanılır.-- MySQL'de söz dizimi örneği CREATE SPATIAL INDEX idx_geo ON table_name (spatial_column); -- PostgreSQL'de söz dizimi örneği CREATE INDEX idx_geo ON table_name USING GIST (spatial_column); -
GIN (Genelleştirilmiş Ters İndeks) ve GiST (Genelleştirilmiş Arama Ağacı) PostgreSQL'de: Esnek indeks türleri, tam metin arama, diziler ve JSON gibi çeşitli görevler için uygundur.
-
Kümelenmiş (Clustered): Satırların fiziksel sırasını belirler. Bir tablo yalnızca bir kümelenmiş indeks içerebilir. Genellikle birincil anahtara dayanır.
-- Birincil anahtar bildirildiğinde, genellikle kümelenmiş indeks oluşturulur CREATE TABLE table_name ( id INT PRIMARY KEY CLUSTERED, -- SQL Server'da ... ); -
Küme dışı (Non-Clustered): Ayrı bir veri yapısıdır ve "sütun değeri (veya sütunlar) + satır göstericisi" çiftlerini depolar. Bir tablo birçok küme dışı indeks içerebilir.
Karşılaştırma:
| İndeks Türü | Uygulama | İşlemler |
|---|---|---|
| B-ağaç | Genel, çoğu veri tipi | =, <, >, <=, >=, BETWEEN, LIKE (başlangıç) |
| Hash | Kesin eşleşme (=) |
= |
| Tam Metin | Metin araması | MATCH AGAINST (MySQL), to_tsquery (PostgreSQL) |
| Uzamsal | Coğrafi veriler | Uzamsal fonksiyonlar |
| Kümelenmiş | Satırların fiziksel sıralaması | Aralık seçimlerini hızlandırır |
| Küme dışı | İndekslenmiş sütunlarda aramayı hızlandırır | =, <, >, <= ve diğerleri |