Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Uitdaging: Query-Optimalisatie | Query Optimization.Indexes
Geavanceerde Technieken in SQL

bookUitdaging: Query-Optimalisatie

Laten we twee tabellen bekijken: BankAccounts en een extra tabel genaamd Transactions.

BankAccounts table

Transactions table

Stel dat we alleen de rekeningnummers willen ophalen die minstens één transactie hebben uitgevoerd.

In deze opdracht is er een query die niet geoptimaliseerd is. De opdracht is om deze op een meer optimale manier te herschrijven.

Hier volgt een lijst met de belangrijkste technieken voor het herschrijven van queries ter verbetering van de optimalisatie:

  1. Kolommen Expliciet Specificeren: Vermijd het gebruik van het sterretje (*) wildcard en geef kolomnamen expliciet op in queries voor betere prestaties, leesbaarheid en onderhoudbaarheid;

  2. Minimaliseren van Subqueries: Beperk het gebruik van subqueries om de prestaties van queries te optimaliseren. Overweeg alternatieven zoals joins of afgeleide tabellen om complexiteit en overhead te vermijden;

  3. Vermijd Herhaald Gebruik van IN-Operatoren: Beperk het gebruik van de IN-operator in queries om prestatieproblemen te voorkomen. Overweeg in plaats daarvan het gebruik van JOIN- of EXISTS-clausules voor efficiëntere uitvoeringsplannen;

  4. Logische Organisatie van Joins: Begin SQL-joins met de hoofdtafel en voeg vervolgens gerelateerde tabellen toe om de organisatie van de query en de optimalisatie door de database-engine te verbeteren;

  5. Gebruik Restrictieve WHERE-Condities: Verbeter de prestaties van queries door restrictieve condities op te nemen in de WHERE-clausule om rijen te filteren en de uitvoeringssnelheid te verhogen;

  6. Code Herstructureren naar Stored Procedures of Functies: Encapsuleer herhalende code in stored procedures of user-defined functions voor herbruikbaarheid, modulariteit en eenvoudiger onderhoud. Dit kan redundantie verminderen en SQL-queries optimaliseren.

Taak

Swipe to start coding

Herschrijf de query op een meer optimale manier. Let erop dat we alleen rekeningnummers willen verkrijgen die ten minste één transactie hebben uitgevoerd (geld overgemaakt naar een andere rekening), gesorteerd in oplopende volgorde.

Opmerking

Gebruik het LEFT- of INNER-jointype om deze taak uit te voeren.

Oplossing

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 2. Hoofdstuk 7
single

single

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

close

Awesome!

Completion rate improved to 4.35

bookUitdaging: Query-Optimalisatie

Veeg om het menu te tonen

Laten we twee tabellen bekijken: BankAccounts en een extra tabel genaamd Transactions.

BankAccounts table

Transactions table

Stel dat we alleen de rekeningnummers willen ophalen die minstens één transactie hebben uitgevoerd.

In deze opdracht is er een query die niet geoptimaliseerd is. De opdracht is om deze op een meer optimale manier te herschrijven.

Hier volgt een lijst met de belangrijkste technieken voor het herschrijven van queries ter verbetering van de optimalisatie:

  1. Kolommen Expliciet Specificeren: Vermijd het gebruik van het sterretje (*) wildcard en geef kolomnamen expliciet op in queries voor betere prestaties, leesbaarheid en onderhoudbaarheid;

  2. Minimaliseren van Subqueries: Beperk het gebruik van subqueries om de prestaties van queries te optimaliseren. Overweeg alternatieven zoals joins of afgeleide tabellen om complexiteit en overhead te vermijden;

  3. Vermijd Herhaald Gebruik van IN-Operatoren: Beperk het gebruik van de IN-operator in queries om prestatieproblemen te voorkomen. Overweeg in plaats daarvan het gebruik van JOIN- of EXISTS-clausules voor efficiëntere uitvoeringsplannen;

  4. Logische Organisatie van Joins: Begin SQL-joins met de hoofdtafel en voeg vervolgens gerelateerde tabellen toe om de organisatie van de query en de optimalisatie door de database-engine te verbeteren;

  5. Gebruik Restrictieve WHERE-Condities: Verbeter de prestaties van queries door restrictieve condities op te nemen in de WHERE-clausule om rijen te filteren en de uitvoeringssnelheid te verhogen;

  6. Code Herstructureren naar Stored Procedures of Functies: Encapsuleer herhalende code in stored procedures of user-defined functions voor herbruikbaarheid, modulariteit en eenvoudiger onderhoud. Dit kan redundantie verminderen en SQL-queries optimaliseren.

Taak

Swipe to start coding

Herschrijf de query op een meer optimale manier. Let erop dat we alleen rekeningnummers willen verkrijgen die ten minste één transactie hebben uitgevoerd (geld overgemaakt naar een andere rekening), gesorteerd in oplopende volgorde.

Opmerking

Gebruik het LEFT- of INNER-jointype om deze taak uit te voeren.

Oplossing

Switch to desktopSchakel over naar desktop voor praktijkervaringGa verder vanaf waar je bent met een van de onderstaande opties
Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

close

Awesome!

Completion rate improved to 4.35
Sectie 2. Hoofdstuk 7
single

single

some-alt