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
SQL-Optimalisatie en Queryfuncties

bookUitdaging: Query-Optimalisatie

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

In deze opdracht hebben we een query die niet geoptimaliseerd is. Uw taak 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: vermeld expliciet kolomnamen in queries in plaats van het sterretje (*) wildcard te gebruiken voor betere prestaties, leesbaarheid en onderhoudbaarheid;

  2. Minimaliseer Subqueries: beperk het gebruik van subqueries om de queryprestaties 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. Organiseer Joins Logisch: 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 de query door restrictieve voorwaarden op te nemen in de WHERE-clausule om rijen te filteren en de uitvoeringssnelheid te verhogen;

  6. Herschrijf Code naar Stored Procedures of Functies: kapsel herhalende code in stored procedures of door de gebruiker gedefinieerde functies voor herbruikbaarheid, modulariteit en eenvoudiger onderhoud. Dit kan redundantie verminderen en SQL-queries optimaliseren.

Taak

Swipe to start coding

Uw taak is om een query te schrijven die een lijst retourneert van alle rekeningnummers die ten minste één transactie hebben uitgevoerd (geld hebben overgemaakt naar een andere rekening). De resultaten moeten oplopend gesorteerd worden op rekeningnummer.

Volg deze stappen om uw query efficiënter en leesbaarder te maken:

  • Selecteer alleen de kolom account_number;
  • Gebruik een INNER JOIN tussen de tabellen BankAccounts en Transactions;
  • Gebruik de operator IN of subqueries niet;
  • Sorteer het resultaat oplopend op account_number.

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.55

bookUitdaging: Query-Optimalisatie

Veeg om het menu te tonen

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

In deze opdracht hebben we een query die niet geoptimaliseerd is. Uw taak 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: vermeld expliciet kolomnamen in queries in plaats van het sterretje (*) wildcard te gebruiken voor betere prestaties, leesbaarheid en onderhoudbaarheid;

  2. Minimaliseer Subqueries: beperk het gebruik van subqueries om de queryprestaties 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. Organiseer Joins Logisch: 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 de query door restrictieve voorwaarden op te nemen in de WHERE-clausule om rijen te filteren en de uitvoeringssnelheid te verhogen;

  6. Herschrijf Code naar Stored Procedures of Functies: kapsel herhalende code in stored procedures of door de gebruiker gedefinieerde functies voor herbruikbaarheid, modulariteit en eenvoudiger onderhoud. Dit kan redundantie verminderen en SQL-queries optimaliseren.

Taak

Swipe to start coding

Uw taak is om een query te schrijven die een lijst retourneert van alle rekeningnummers die ten minste één transactie hebben uitgevoerd (geld hebben overgemaakt naar een andere rekening). De resultaten moeten oplopend gesorteerd worden op rekeningnummer.

Volg deze stappen om uw query efficiënter en leesbaarder te maken:

  • Selecteer alleen de kolom account_number;
  • Gebruik een INNER JOIN tussen de tabellen BankAccounts en Transactions;
  • Gebruik de operator IN of subqueries niet;
  • Sorteer het resultaat oplopend op account_number.

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!

Sectie 2. Hoofdstuk 7
single

single

some-alt