Sobes.tech
Junior

Kuidas luua andmebaasis indeks?

sobes.tech AI

Vastus AI-lt

Indeksite loomine sõltub konkreetse andmebaasi haldusüsteemist (DBMS).

SQL-i üldine süntaks indeksi loomiseks näeb välja selline:

CREATE INDEX indeksi_nimi
ON tabeli_nimi (veerg1, veerg2, ...);
  • CREATE INDEX: Sõnad indeksi loomise jaoks.
  • indeksi_nimi: Nimi, mille annate indeksile. See peab olema tabelis unikaalne.
  • tabeli_nimi: Tabeli nimi, millele indeksit loote.
  • veerg1, veerg2, ...: Loetelu veergudest, mis indeksisse kuuluvad. Veergude järjekord on oluline koostatud indeksite puhul.

Populaarsed DBMS-i näited:

DBMS Näide
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);

Võite luua erinevat tüüpi indekseid, näiteks:

  • Klastrindeksid: Määravad füüsilise järjekorra tabeli ridade salvestamisel (tavaliselt üks tabeli kohta).
  • Klastrindeksid mitte: Eraldi struktuur, mis hoiab viiteid tabeli ridadele.
  • Unikaalsed indeksid: Tagavad indeksitavate veergude väärtuste unikaalsuse.

Näide unikaalse indeksi loomise kohta:

CREATE UNIQUE INDEX users_username_unique_idx
ON users (username);

Mitme veeru indeksid:

CREATE INDEX orders_user_product_idx
ON orders (user_id, product_id);

Oluline on valida indeksitavad veergudest, lähtudes kõige sagedamini kasutatavatest tingimustest WHERE lausetes, JOIN operatsioonides ja ORDER BY lausetes. Liiga paljude indeksite või sobimatute veergude indeksite loomine võib vähendada sisestamise, uuendamise ja kustutamise operatsioonide tõhusust.