Sobes.tech
Junior

Veritabanında nasıl indeks oluşturulur?

sobes.tech yapay zeka

AI'dan gelen yanıt

Bir dizin oluşturma, belirli bir veritabanı yönetim sistemine (DBMS) bağlıdır.

Genel SQL sözdizimi şu şekildedir:

CREATE INDEX index_adi
ON tablo_adi (sütun1, sütun2, ...);
  • CREATE INDEX: Dizin oluşturmak için anahtar kelimeler.
  • index_adi: Dizin için verdiğiniz isim. Tablo içinde benzersiz olmalıdır.
  • tablo_adi: Dizin oluşturduğunuz tablonun adı.
  • sütun1, sütun2, ...: Dizin içine alınan sütunların listesi. Sütunların sırası, bileşik dizinler için önemlidir.

Popüler DBMS örnekleri:

DBMS Örnek
PostgreSQL CREATE INDEX users_email_idx ON users (email);
MySQL CREATE INDEX products_price_category_idx ON products (price, category_id);
SQLite CREATE INDEX orders_date_idx ON orders (order_date);
SQL Server CREATE INDEX payments_user_idx ON payments (user_id);

Farklı dizin türleri oluşturulabilir, örneğin:

  • Küme dizinleri: Satırların fiziksel sırasını belirler (genellikle tablo başına bir tane).
  • Küme olmayan dizinler: Satırların referanslarını tutan ayrı veri yapısı.
  • Benzersiz dizinler: Dizine alınan sütunlardaki değerlerin benzersizliğini sağlar.

Benzersiz dizin örneği:

CREATE UNIQUE INDEX users_username_unique_idx
ON users (username);

Birden çok sütuna sahip bileşik dizinler:

CREATE INDEX orders_user_product_idx
ON orders (user_id, product_id);

Dizin oluştururken, WHERE koşullarında en sık kullanılan sütunlar, JOIN işlemleri ve ORDER BY ifadeleri göz önünde bulundurulmalıdır. Çok sayıda dizin oluşturmak veya uygun olmayan sütunlara dizin eklemek, ekleme, güncelleme ve silme işlemlerinin performansını olumsuz etkileyebilir.