Junior
Kaip sukurti indeksą duomenų bazėje?
sobes.tech AI
Atsakymas iš AI
Indeksų kūrimas priklauso nuo konkrečios duomenų bazės valdymo sistemos (DBVS).
Bendras SQL sintaksė indeksui sukurti atrodo taip:
CREATE INDEX indeksas_pavadinimas
ON lentelės_pavadinimas (stulpelis1, stulpelis2, ...);
CREATE INDEX: Raktiniai žodžiai indeksui sukurti.indeksas_pavadinimas: Pavadinimas, kurį suteikiate indeksui. Jis turi būti unikalus lentelėje.lentelės_pavadinimas: Lentelės pavadinimas, kurioje kuriate indeksą.stulpelis1, stulpelis2, ...: Sąrašas stulpelių, kurie įtraukiami į indeksą. Stulpelių tvarka yra svarbi sudėtiniams indeksams.
Populiarių DBVS pavyzdžiai:
| DBVS | Pavyzdys |
|---|---|
| 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); |
Galima kurti įvairių tipų indeksus, pavyzdžiui:
- Klastrinis indeksas: Nustato fizinį eiliškumą lentelės eilutėse (dažniausiai vienas lentelėje).
- Ne klastrinis indeksas: Atskira duomenų struktūra, sauganti nuorodas į lentelės eilutes.
- Unikalus indeksas: Garantuoja unikalumą indeksuotų stulpelių reikšmėse.
Pavyzdys kuriant unikalų indeksą:
CREATE UNIQUE INDEX users_username_unique_idx
ON users (username);
Sudėtinių indeksų kūrimas keliems stulpeliams:
CREATE INDEX orders_user_product_idx
ON orders (user_id, product_id);
Svarbu pasirinkti stulpelius indeksavimui, remiantis dažniausiai naudojamomis sąlygomis WHERE sakiniuose, JOIN operacijose ir ORDER BY sakiniuose. Per daug indeksų arba netinkamų stulpelių indeksų kūrimas gali sumažinti įterpimo, atnaujinimo ir ištrynimo operacijų efektyvumą.