Sobes.tech
Junior

Verilənlər bazasında indeks necə yaradılır?

sobes.tech Süni İntellekt

AI-dan cavab

İndeksin yaradılması xüsusi verilənlər bazası idarəetmə sistemindən (DBMS) asılıdır.

İndeks yaratmaq üçün ümumi SQL sintaksisi aşağıdakı kimidir:

CREATE INDEX indeks_adi
ON cədvəl_adi (sütun1, sütun2, ...);
  • CREATE INDEX: İndeks yaratmaq üçün açar sözlər.
  • indeks_adi: İndeksə verdiyiniz ad. Cədvəl daxilində unikal olmalıdır.
  • cədvəl_adi: İndeks yaratdığınız cədvəlin adı.
  • sütun1, sütun2, ...: İndeksə daxil edilən sütunların siyahısı. Sütunların sırası çoxşaxəli indekslər üçün vacibdir.

Populyar DBMS-lər üçün nümunələr:

DBMS Nümunə
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);

Fərqli indeks növləri yaradıla bilər, məsələn:

  • Klasterni indekslər: Cədvəldəki sətirlərin fiziki sırasını müəyyən edir (adətən birinə).
  • Klasterni olmayan indekslər: Ayrı bir məlumat strukturu olub, cədvəldəki sətirlərə istinadlar saxlayır.
  • Unikal indekslər: İndeksə alınan sütunların unikal olmasını təmin edir.

Unikal indeks yaratma nümunəsi:

CREATE UNIQUE INDEX users_username_unique_idx
ON users (username);

Çox sütunlu birləşmiş indekslər:

CREATE INDEX orders_user_product_idx
ON orders (user_id, product_id);

İndeks seçərkən, WHERE şərtlərində ən çox istifadə olunan sütunlar, JOIN əməliyyatları və ORDER BY ifadələri nəzərə alınmalıdır. Çox sayda indeks və ya uyğun olmayan sütunlarda indeks yaratmaq, əlavə etmə, yeniləmə və silmə əməliyyatlarının performansını azalda bilər.