Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Udfordring: Forespørgselsoptimering | Forespørgselsoptimering.Indekser
Avancerede Teknikker i SQL

bookUdfordring: Forespørgselsoptimering

Lad os undersøge to tabeller: BankAccounts og en yderligere tabel kaldet Transactions.

BankAccounts table

Transactions table

Antag, at vi kun ønsker at hente de kontonumre, der har udført mindst én transaktion.

I denne opgave har vi en forespørgsel, der ikke er optimeret. Din opgave er at omskrive den på en mere optimal måde.

Her er en liste over de vigtigste teknikker til omskrivning af forespørgsler for at forbedre optimeringen:

  1. Angiv kolonner eksplicit: I stedet for at bruge stjerne (*)-wildcardet, skal du eksplicit nævne kolonnenavne i forespørgsler for bedre ydeevne, læsbarhed og vedligeholdelse;

  2. Minimer underforespørgsler: Reducer brugen af underforespørgsler for at optimere forespørgselsydelsen. Overvej alternativer som joins eller afledte tabeller for at undgå kompleksitet og overhead;

  3. Undgå gentagne IN-operatorer: Begræns brugen af IN-operatoren i forespørgsler for at forhindre ydeevneproblemer. Overvej i stedet at bruge JOIN eller EXISTS-klausuler for mere effektive eksekveringsplaner;

  4. Organisér joins logisk: Start SQL-joins med hovedtabellen og tilføj derefter relaterede tabeller for at optimere forespørgselsstruktur og databaseoptimering;

  5. Brug restriktive WHERE-betingelser: Forbedr forespørgselsydelsen ved at inkludere restriktive betingelser i WHERE-klausulen for at filtrere rækker og øge eksekveringshastigheden;

  6. Refaktorer kode til lagrede procedurer eller funktioner: Indkapsl gentagne kodeafsnit i lagrede procedurer eller brugerdefinerede funktioner for genanvendelighed, modularitet og nemmere vedligeholdelse. Dette kan reducere redundans og optimere SQL-forespørgsler.

Opgave

Swipe to start coding

Omskriv venligst forespørgslen mere optimalt. Bemærk, at vi kun skal hente kontonumre, der har udført mindst én transaktion (overført penge til en anden konto), sorteret i stigende rækkefølge.

Bemærk

Brug LEFT eller INNER join-type for at løse denne opgave.

Løsning

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 2. Kapitel 7
single

single

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

close

Awesome!

Completion rate improved to 4.35

bookUdfordring: Forespørgselsoptimering

Stryg for at vise menuen

Lad os undersøge to tabeller: BankAccounts og en yderligere tabel kaldet Transactions.

BankAccounts table

Transactions table

Antag, at vi kun ønsker at hente de kontonumre, der har udført mindst én transaktion.

I denne opgave har vi en forespørgsel, der ikke er optimeret. Din opgave er at omskrive den på en mere optimal måde.

Her er en liste over de vigtigste teknikker til omskrivning af forespørgsler for at forbedre optimeringen:

  1. Angiv kolonner eksplicit: I stedet for at bruge stjerne (*)-wildcardet, skal du eksplicit nævne kolonnenavne i forespørgsler for bedre ydeevne, læsbarhed og vedligeholdelse;

  2. Minimer underforespørgsler: Reducer brugen af underforespørgsler for at optimere forespørgselsydelsen. Overvej alternativer som joins eller afledte tabeller for at undgå kompleksitet og overhead;

  3. Undgå gentagne IN-operatorer: Begræns brugen af IN-operatoren i forespørgsler for at forhindre ydeevneproblemer. Overvej i stedet at bruge JOIN eller EXISTS-klausuler for mere effektive eksekveringsplaner;

  4. Organisér joins logisk: Start SQL-joins med hovedtabellen og tilføj derefter relaterede tabeller for at optimere forespørgselsstruktur og databaseoptimering;

  5. Brug restriktive WHERE-betingelser: Forbedr forespørgselsydelsen ved at inkludere restriktive betingelser i WHERE-klausulen for at filtrere rækker og øge eksekveringshastigheden;

  6. Refaktorer kode til lagrede procedurer eller funktioner: Indkapsl gentagne kodeafsnit i lagrede procedurer eller brugerdefinerede funktioner for genanvendelighed, modularitet og nemmere vedligeholdelse. Dette kan reducere redundans og optimere SQL-forespørgsler.

Opgave

Swipe to start coding

Omskriv venligst forespørgslen mere optimalt. Bemærk, at vi kun skal hente kontonumre, der har udført mindst én transaktion (overført penge til en anden konto), sorteret i stigende rækkefølge.

Bemærk

Brug LEFT eller INNER join-type for at løse denne opgave.

Løsning

Switch to desktopSkift til skrivebord for at øve i den virkelige verdenFortsæt der, hvor du er, med en af nedenstående muligheder
Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

close

Awesome!

Completion rate improved to 4.35
Sektion 2. Kapitel 7
single

single

some-alt