Indexes

0.0(0)
studied byStudied by 0 people
0.0(0)
full-widthCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/28

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

29 Terms

1
New cards

Wat is Moore's Law?

De observatie dat het aantal transistors in een geïntegreerd circuit ongeveer elke twee jaar verdubbelt. Het is een historische trend, geen fysieke wet.

2
New cards

Wat is Wirth's Law?

Software heeft de neiging om sneller trager te worden dan hardware sneller wordt.

3
New cards

Waarom blijft database performance relevant ondanks Moore's Law?

Door Wirth's Law (software-inefficiënties) blijft performance een kritiek punt, zelfs met hardwareverbeteringen.

4
New cards

Wat is een database-index?

Een datastructuur die de snelheid van data-ophaling (queries) op een tabel verbetert, ten koste van extra opslag en onderhoud.

5
New cards

Wat is een veelvoorkomende oorzaak van slechte database performance?

Ontbrekende indexes (Missing indexes).

6
New cards

Wat is de kleinste opslag-eenheid in SQL Server?

Een Page (Pagina). Dit is een aaneengesloten blok opslagruimte van 8 KB.

7
New cards

Wat is een Extent in SQL Server?

Een logische groepering van 8 Pages (pagina's), wat neerkomt op ongeveer 64 KB.

8
New cards

Wat is het verschil tussen een Mixed Extent en een Uniform Extent?

Een Mixed Extent wordt gedeeld door maximaal 8 database-objecten (bv. tabellen, indexes). Een Uniform Extent is toegewijd aan één enkel object.

9
New cards

Hoe wordt opslag initieel toegewezen aan nieuwe tabellen in SQL Server?

Nieuwe tabellen of indexes starten in een Mixed Extent. Zodra het object 8 pagina's overschrijdt, verhuist het naar een Uniform Extent.

10
New cards

Wat is een Clustered Index?

De index die de fysieke volgorde van de rijen in de tabel bepaalt. De data-rijen zelf worden opgeslagen op het leaf level (bladniveau) van de index.

11
New cards

Hoeveel Clustered Indexes kan een tabel hebben?

Slechts één, omdat de data-rijen zelf maar op één manier fysiek opgeslagen kunnen worden.

12
New cards

Wat is een Non-Clustered Index?

Een aparte datastructuur (los van de data-rijen) die pointers bevat naar de daadwerkelijke data-rijen.

13
New cards

Hoeveel Non-Clustered Indexes kan een tabel hebben?

Meerdere (Many).

14
New cards

Wat bevatten de leaf nodes (bladniveaus) van een Non-Clustered Index?

De geïndexeerde kolom(men) plus een pointer (een Row Identifier (RID) of de Clustered Key) naar de locatie van de volledige rij.

15
New cards

Wat is een Heap (in database-context)?

Een tabel zonder Clustered Index. De rijen worden opgeslagen in een ongeordende verzameling dat pagina's.

16
New cards

Wat is een Table Scan?

Een operatie waarbij de query elke pagina van de tabel (meestal een heap) moet lezen om de data te vinden. Dit is erg inefficiënt voor grote tabellen.

17
New cards

Wat is een Index Seek?

Een zeer snelle operatie waarbij de B-tree structuur van de index direct wordt doorlopen om de specifieke, overeenkomende rijen te vinden.

18
New cards

Wat is een Index Scan?

Een operatie waarbij de index sequentieel (van begin tot eind) wordt gelezen totdat de benodigde rijen zijn gevonden. Dit is langzamer dan een Index Seek.

19
New cards

Wat is een Filtered Index?

Een Non-Clustered Index die alleen rijen opslaat die voldoen aan een specifieke, vooraf gedefinieerde WHERE-clausule (predicaat). Dit verkleint de index en reduceert onderhoud.

20
New cards

Wat is een Covering Index?

Een Non-Clustered Index die alle kolommen bevat die een specifieke query nodig heeft. Hierdoor hoeft de database de data niet uit de basistabel te halen (geen Key Lookup).

21
New cards

Wat doen INCLUDE columns in een index?

Ze voegen niet-key kolommen toe aan het leaf level (bladniveau) van een Non-Clustered Index. Dit helpt een index 'covering' te maken zonder de index-sleutel zelf te verzwaren.

22
New cards

Wat is een Key Lookup (of Bookmark Lookup)?

Een extra stap die de database uitvoert wanneer een Non-Clustered Index niet alle gevraagde kolommen bevat. De engine gebruikt de pointer in de index om de ontbrekende data op te halen uit de Clustered Index (of heap).

23
New cards

Wanneer is een multi-column (composite) index nuttig?

Wanneer queries filteren op de leidende (eerste) kolom(men) van de index. Als de query alleen op een latere kolom filtert, wordt de index niet gebruikt.

24
New cards

Noem 3 goede kandidaten voor indexering.

  1. Primary keys en unique columns. 2. Foreign keys (die gebruikt worden in JOINS). 3. Kolommen die vaak voorkomen in WHERE, GROUP BY, of ORDER BY clausules.
25
New cards

Noem 3 slechte kandidaten voor indexering.

  1. Kolommen die zelden in queries worden gebruikt. 2. Kolommen met lage cardinaliteit (weinig unieke waarden, bv. geslacht, 'ja/nee' velden). 3. Kolommen in erg kleine tabellen (een table scan is dan goedkoper). (Ook: LOB types zoals text, image).
26
New cards

Wat is een belangrijke 'best practice' om te zorgen dat een index wordt gebruikt?

Vermijd functies op geïndexeerde kolommen in je WHERE-clausule. (Slecht: WHERE YEAR(Datum) = 2024. Goed: WHERE Datum >= '2024-01-01' AND Datum < '2025-01-01').

27
New cards

Waarom moet je een 'leading wildcard' (bv. LIKE '%tekst') vermijden?

Een 'leading wildcard' (een wildcard aan het begin van de zoekterm) voorkomt dat de database de index efficiënt kan gebruiken voor een seek.

28
New cards

Wat is de SQL Optimizer?

Een module in de database die SQL-statements analyseert en de meest efficiënte executie-strategie bepaalt (bv. welke index te gebruiken, join-volgorde).

29
New cards

Waarop baseert de SQL Optimizer zijn beslissingen?

Het gebruikt statistieken over de tabelgrootte, data-distributie (hoe uniek de waarden zijn) en gebruikspatronen.