Junior
Welke soorten indexen bestaan er in databases?
sobes.tech AI
Antwoord van AI
De belangrijkste typen indexen in databases:
-
B-tree (B+boom):
- Het meest voorkomende type.
- Geschikt voor een breed scala aan operaties: bereikzoek, exacte overeenstemming, sortering.
- Standaard in veel DBMS (MySQL, PostgreSQL, Oracle).
-
Hash-indexen:
- Gebaseerd op een hash-tabel.
- Zeer snel voor zoeken op exacte overeenstemming (
=). - Niet geschikt voor bereikzoek (
BETWEEN,<,>), sortering (ORDER BY) of patroonzoek (LIKE).
-
Full-text indexen:
- Ontworpen voor zoeken in tekstvelden (BLOB, TEXT).
- Stellen je in staat om woorden of zinnen te zoeken, synoniemen te overwegen en morfologische analyse uit te voeren.
- Voorbeelden:
MATCH...AGAINSTin MySQL/MariaDB,tsvector/tsqueryin PostgreSQL.
-
Ruimtelijke indexen (R-tree):
- Gebruikt voor het indexeren van geografische of ruimtelijke gegevens.
- Maakt het mogelijk om objecten binnen een bepaald gebied of grenzen efficiënt te vinden.
-
Bitmap (bitskaart) indexen:
- Gebruikt in sommige DBMS (bijvoorbeeld Oracle, PostgreSQL).
- Geschikt voor velden met lage kardinaliteit (weinig unieke waarden, bijvoorbeeld geslacht, status: actief/inactief).
- Kan zeer efficiënt zijn voor complexe queries met
ANDenORoperaties.
-
Gestructureerde index (geclusterd):
- Beïnvloedt de fysieke volgorde van gegevensopslag van de rijen in de tabel.
- Er kan slechts één gestructureerde index per tabel zijn.
- Vaak gebruikt voor de primaire sleutel.
-
Niet-gestructureerde index (niet-geclusterd):
- Bepaalt niet de fysieke volgorde van de rijen.
- Bevat pointers naar de fysieke locatie van de gegevensrijen.
- Een tabel kan meerdere niet-gestructureerde indexen hebben.
-
Covering (bedekkende) index:
- Een index die alle kolommen bevat die nodig zijn voor het uitvoeren van een query, inclusief kolommen in
SELECT, voorwaarden inWHEREenORDER BY. - Maakt dat de DBMS niet hoeft te zoeken naar de tabelgegevens, wat de uitvoering versnelt.
- Een index die alle kolommen bevat die nodig zijn voor het uitvoeren van een query, inclusief kolommen in
-
Functionele (uitdrukking) index:
- Index gebaseerd op het resultaat van een functie of uitdrukking op één of meerdere kolommen.
- Maakt het mogelijk om berekende waarden te indexeren.
Bij het kiezen van het indextype wordt rekening gehouden met het gegevenstype, de frequentie en aard van de queries (zoeken op exacte waarde, bereik, sortering, full-text zoeken, enz.) en de kardinaliteit van de kolom.