Uitdaging: 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:
-
Kolommen Expliciet Specificeren: vermeld expliciet kolomnamen in queries in plaats van het sterretje (
*) wildcard te gebruiken voor betere prestaties, leesbaarheid en onderhoudbaarheid; -
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;
-
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 vanJOIN- ofEXISTS-clausules voor efficiëntere uitvoeringsplannen; -
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;
-
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; -
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.
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 JOINtussen de tabellenBankAccountsenTransactions; - Gebruik de operator
INof subqueries niet; - Sorteer het resultaat oplopend op
account_number.
Oplossing
Bedankt voor je feedback!
single
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.
Awesome!
Completion rate improved to 4.55
Uitdaging: 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:
-
Kolommen Expliciet Specificeren: vermeld expliciet kolomnamen in queries in plaats van het sterretje (
*) wildcard te gebruiken voor betere prestaties, leesbaarheid en onderhoudbaarheid; -
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;
-
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 vanJOIN- ofEXISTS-clausules voor efficiëntere uitvoeringsplannen; -
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;
-
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; -
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.
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 JOINtussen de tabellenBankAccountsenTransactions; - Gebruik de operator
INof subqueries niet; - Sorteer het resultaat oplopend op
account_number.
Oplossing
Bedankt voor je feedback!
single