Els índexs són una part fonamental de l'optimització de bases de dades. Ajuden a accelerar les consultes permetent un accés més ràpid a les dades. En aquest tema, aprendrem com crear i gestionar índexs en SQL.
Què és un índex?
Un índex és una estructura de dades que millora la velocitat de les operacions de recuperació de dades en una taula de base de dades. Els índexs es creen en una o més columnes d'una taula.
Tipus d'índexs
- Índexs únics: Asseguren que els valors de la columna indexada siguin únics.
- Índexs no únics: Permeten valors duplicats a la columna indexada.
- Índexs compostos: Es creen en més d'una columna.
- Índexs de text complet: S'utilitzen per a la cerca de text complet en columnes de text.
Crear índexs
Sintaxi bàsica
La sintaxi per crear un índex és la següent:
Exemple pràctic
Suposem que tenim una taula empleats
amb les següents columnes: id
, nom
, cognom
, departament
, salari
.
CREATE TABLE empleats ( id INT PRIMARY KEY, nom VARCHAR(50), cognom VARCHAR(50), departament VARCHAR(50), salari DECIMAL(10, 2) );
Per crear un índex en la columna departament
, utilitzem la següent instrucció:
Índexs únics
Per crear un índex únic, utilitzem la següent sintaxi:
Exemple:
Gestionar índexs
Llistar índexs
Per llistar els índexs d'una taula, podem utilitzar la següent consulta (aquesta sintaxi pot variar segons el sistema de gestió de bases de dades):
Exemple:
Eliminar índexs
Per eliminar un índex, utilitzem la següent sintaxi:
Exemple:
Exercicis pràctics
Exercici 1
Crea un índex en la columna salari
de la taula empleats
.
Solució
Exercici 2
Crea un índex únic en les columnes nom
i cognom
de la taula empleats
.
Solució
Exercici 3
Elimina l'índex idx_salari
de la taula empleats
.
Solució
Errors comuns i consells
- Crear índexs innecessaris: Crear massa índexs pot degradar el rendiment de les operacions d'inserció, actualització i eliminació. Només crea índexs quan sigui necessari.
- No utilitzar índexs compostos correctament: Assegura't que les columnes en un índex compost siguin utilitzades en les consultes de manera que l'índex sigui efectiu.
- No mantenir els índexs: Revisa i mantén els índexs regularment per assegurar-te que segueixen sent útils i no afecten negativament el rendiment.
Conclusió
En aquesta secció, hem après com crear i gestionar índexs en SQL. Els índexs són essencials per millorar el rendiment de les consultes, però és important utilitzar-los amb cura per evitar impactes negatius en altres operacions de la base de dades. En el següent tema, explorarem tècniques d'optimització de consultes per millorar encara més el rendiment de les nostres bases de dades.
Curs de SQL
Mòdul 1: Introducció a SQL
Mòdul 2: Consultes bàsiques de SQL
Mòdul 3: Treballar amb múltiples taules
Mòdul 4: Filtratge avançat de dades
- Utilitzar LIKE per a coincidències de patrons
- Operadors IN i BETWEEN
- Valors NULL i IS NULL
- Agrupar dades amb GROUP BY
- Clàusula HAVING
Mòdul 5: Manipulació de dades
Mòdul 6: Funcions avançades de SQL
Mòdul 7: Subconsultes i consultes niades
- Introducció a les subconsultes
- Subconsultes correlacionades
- EXISTS i NOT EXISTS
- Utilitzar subconsultes en les clàusules SELECT, FROM i WHERE
Mòdul 8: Índexs i optimització del rendiment
- Comprendre els índexs
- Crear i gestionar índexs
- Tècniques d'optimització de consultes
- Analitzar el rendiment de les consultes
Mòdul 9: Transaccions i concurrència
- Introducció a les transaccions
- Propietats ACID
- Instruccions de control de transaccions
- Gestionar la concurrència
Mòdul 10: Temes avançats
Mòdul 11: SQL en la pràctica
- Casos d'ús del món real
- Millors pràctiques
- SQL per a l'anàlisi de dades
- SQL en el desenvolupament web