Sobes.tech
Junior

Cum se creează un index în baza de date?

sobes.tech AI

Răspuns de la AI

Crearea unui index depinde de sistemul de gestionare a bazelor de date (SGBD) specific.

Sintaxa SQL generală pentru crearea unui index arată astfel:

CREATE INDEX nume_index
ON nume_tabel (coloana1, coloana2, ...);
  • CREATE INDEX: Cuvinte cheie pentru crearea unui index.
  • nume_index: Numele pe care îl dai indexului. Trebuie să fie unic în cadrul tabelului.
  • nume_tabel: Numele tabelului pe care creezi indexul.
  • coloana1, coloana2, ...: Lista coloanelor incluse în index. Ordinea coloanelor este importantă pentru indexurile compuse.

Exemple pentru SGBD-uri populare:

SGBD Exemplu
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);

Se pot crea diferite tipuri de indecși, de exemplu:

  • Indecși clustere: Determină ordinea fizică de stocare a rândurilor în tabel (de obicei unul pe tabel).
  • Indecși non-clustere: Structură de date separată care stochează referințe la rândurile tabelului.
  • Indecși unici: Asigură unicitatea valorilor în coloanele indexate.

Exemplu de creare a unui index unic:

CREATE UNIQUE INDEX users_username_unique_idx
ON users (username);

Indecși compuși pe mai multe coloane:

CREATE INDEX orders_user_product_idx
ON orders (user_id, product_id);

Este important să alegi coloanele pentru indexare în funcție de condițiile cele mai frecvent utilizate în clauzele WHERE, operațiunile JOIN și clauzele ORDER BY. Crearea unui număr prea mare de indecși sau indecși pe coloane nepotrivite poate reduce performanța operațiilor de inserare, actualizare și ștergere.