Junior
Kako napraviti indeks u bazi podataka?
sobes.tech АИ
Одговор од АИ
Kreiranje indeksa zavisi od specifičnog sistema upravljanja bazama podataka (DBMS).
Opšta SQL sintaksa za kreiranje indeksa izgleda ovako:
CREATE INDEX naziv_indeksa
ON naziv_tabele (kolona1, kolona2, ...);
CREATE INDEX: Ključne reči za kreiranje indeksa.naziv_indeksa: Ime koje dajete indeksu. Mora biti jedinstveno unutar tabele.naziv_tabele: Ime tabele na kojoj pravite indeks.kolona1, kolona2, ...: Lista kolona uključenih u indeks. Poredak kolona je važan za složene indekse.
Primeri za popularne DBMS:
| DBMS | Primer |
|---|---|
| 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); |
Mogu se praviti različiti tipovi indeksa, na primer:
- Klasterski indeksi: Određuju fizički red skladištenja redova u tabeli (obično jedan po tabeli).
- Neklasterski indeksi: Odvojena struktura podataka koja čuva reference na redove tabele.
- Unikatni indeksi: Garantuju jedinstvenost vrednosti u indeksiranim kolonama.
Primer kreiranja unikatnog indeksa:
CREATE UNIQUE INDEX users_username_unique_idx
ON users (username);
Složeni indeksi na više kolona:
CREATE INDEX orders_user_product_idx
ON orders (user_id, product_id);
Važno je odabrati kolone za indeksiranje na osnovu najčešće korišćenih uslova u WHERE izrazima, JOIN operacijama i ORDER BY izrazima. Kreiranje prevelikog broja indeksa ili indeksa na neadekvatnim kolonama može smanjiti performanse operacija umetanja, ažuriranja i brisanja.