Index létrehozása SQL adatbázis-kezelőben (SQL CREATE és DROP INDEX utasítás)

Ebben a cikkben bemutatjuk, hogy mi az az index, miért érdemes használni őket, illetve azt, hogy hogyan lehet létrehozni, illet törölni őket különböző SQL adatbázis-kezelőkben.

SQL alapok kezdőknek, SQL ismeretek kurzus borítókép

Index létrehozása SQL adatbázis-kezelőben (SQL CREATE és DROP INDEX utasítás)

Ebben a cikkben bemutatjuk, hogy mi az az index, miért érdemes használni őket, illetve azt, hogy hogyan lehet létrehozni, illet törölni őket különböző SQL adatbázis-kezelőkben.

Mi az az index adatbázisok esetében?

Az indexek segítségével felgyorsíthatjuk az adatbázis tábláiban való keresést, hiszen az indexek arra szolgálnak, hogy gyorsan megtalálják az adott oszlopértékekkel rendelkező sorokat az adatbázis tábláiban.

Egy index nélküli adatbázisban a vizsgálat az első rekorddal kezdődik, majd az egész tábla áttekintésre kerül, azonban ha a tábla rendelkezik indexszel a vizsgált oszlopokhoz, akkor az adatbázis-kezelő megtudja határozni a keresett pozíciót az összes rekord áttekintése nélkül.

Nagyméretű, sok adatot tartalmazó adatbázisok esetében nagyon fontos az indexek használata, hiszen a lekérdezések ideje drasztikusan csökken. Az index használatának előnye a lekérdezések futási idejének csökkenése, míg a hátránya az adatbázis méretének növekedése.

A CREATE INDEX utasítással hozhatunk létre indexeket, de a UNIQUE és a PRIMARY KEY is egy indexnek tekinthető.

Az SQL CREATE INDEX utasítása

AZ SQL CREATE INDEX utasításával hozhatunk létre indexet egy tábla oszlopaira.

CREATE INDEX szintaxis

A CREATE INDEX utasítás szintaktikája teljesen megegyezik a legnépszerűbb adatbázis-kezelőkben: MySQL, MS Access, SQL Server, Oracle Database.

MySQL, MS Access, SQL Server, Oracle Database

CREATE INDEX név
ON tábla (oszlop1, oszlop2, ...);
Code language: SQL (Structured Query Language) (sql)

A CREATE INDEX utasítás után adjuk meg az index nevét, majd az ON kulcsszó után azt a táblát, amelynek oszlopaira indexeket szeretnénk létrehozni. A zárójelek közé kell egy vagy több oszlopot felsorolni, ezek kerülnek majd indexelésre, az ezekben való keresés fog majd felgyorsulni az indexelésnek köszönhetően.

CREATE INDEX példa

A lenti példában létrehoztunk egy „vasarlasokIndex” nevű indexet a „vasarlasok” táblában lévő „vasarloID” oszlopra.

SQL kód

CREATE INDEX vasarlasokIndex
ON vasarlasok(vasarloID);
Code language: SQL (Structured Query Language) (sql)

Az SQL DROP INDEX utasítása

Természetesen ha lehet indexet létrehozni, akkor törölni is.

DROP INDEX szintaktikája

Az index törlése esetében már nincs olyan egyszerű dolgunk, mint a létrehozáskor, hiszen itt adatbázis-kezelőnként eltérő szintaktikákkal kell számolnunk.

DROP INDEX MySQL adatbázis-kezelőben

ALTER TABLE tábla
DROP INDEX név;
Code language: SQL (Structured Query Language) (sql)

MySQL adatbázis-kezelőben az ALTER TABLE utasítás után kell megadnunk a táblát, majd a DROP INDEX után a törlendő index nevét.

DROP INDEX MS Access adatbázis-kezelőben

DROP INDEX név ON tábla;
Code language: SQL (Structured Query Language) (sql)

MS Access esetében a DROP INDEX után kell megadni az eldobandó index nevét, majd ezt követi az ON kulcsszó és a tábla.

DROP INDEX SQL Server adatbázis-kezelőben

DROP INDEX tábla.név;
Code language: SQL (Structured Query Language) (sql)

Ha SQL Servert használunk, akkor a DROP INDEX kulcsszó után egy ponttal kell összefűznünk a tábla és az eldobandó index nevét.

DROP INDEX Oracle Database adatbázis-kezelőben

DROP INDEX név;
Code language: SQL (Structured Query Language) (sql)

Oracle Database-ben a DROP INDEX kulcsszó után szimplán csak az index nevét kell megadni.

DROP INDEX példa

A lenti kódok ugyanazt a funkciót valósítják meg, azaz eldobják a „vasarlasok” nevű táblán alkalmazott „vasarlasokIndex” névre keresztelt indexeket különböző adatbázis-kezelőrendszerekben, azaz MySQL-ben, MS Access-ben, SQL Server-ben és Oracle Database-ben.

SQL kód

//MySQL
ALTER TABLE vasarlasok
DROP INDEX vasarlasokIndex;

//MS Access
DROP INDEX vasarlasokIndex ON vasarlasok;

//SQL Server
DROP INDEX vasarlasok.vasarlasokIndex;

//Oracle Database
DROP INDEX vasarlasokIndex;

Code language: SQL (Structured Query Language) (sql)

Ha hasznos volt számodra, akkor kérlek oszd meg másokkal is, hogy ezzel támogass minket!