Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Utmaning: Frågeoptimering | Frågeoptimering.Indexer
Avancerade Tekniker i SQL

bookUtmaning: Frågeoptimering

Låt oss utforska två tabeller: BankAccounts och en ytterligare tabell med namnet Transactions.

BankAccounts table

Transactions table

Anta att vi vill hämta endast de kontonummer som har genomfört minst en transaktion.

I denna uppgift har vi en fråga som inte är optimerad. Din uppgift är att skriva om den på ett mer optimalt sätt.

Här är en lista över de viktigaste teknikerna för omskrivning av frågor för att förbättra optimeringen:

  1. Specificera kolumner explicit: Istället för att använda asterisken (*) som jokertecken, ange kolumnnamn explicit i frågor för bättre prestanda, läsbarhet och underhållbarhet;

  2. Minimera underfrågor: Minska användningen av underfrågor för att optimera frågans prestanda. Överväg alternativ som joins eller härledda tabeller för att undvika komplexitet och överbelastning;

  3. Undvik upprepade IN-operatorer: Begränsa användningen av IN-operatorn i frågor för att förhindra prestandapåverkan. Överväg istället att använda JOIN- eller EXISTS-satser för mer effektiva exekveringsplaner;

  4. Organisera joins logiskt: Börja SQL-joins med huvudtabellen och anslut sedan till relaterade tabeller för att optimera frågans struktur och databasens optimering;

  5. Använd restriktiva WHERE-villkor: Förbättra frågans prestanda genom att inkludera restriktiva villkor i WHERE-satsen för att filtrera rader och öka exekveringshastigheten;

  6. Omstrukturera kod till lagrade procedurer eller funktioner: Kapsla in upprepande kodavsnitt i lagrade procedurer eller användardefinierade funktioner för återanvändbarhet, modularitet och enklare underhåll. Dessa kan minska redundans och optimera SQL-frågor.

Uppgift

Swipe to start coding

Vänligen skriv om frågan på ett mer optimalt sätt. Observera att vi endast behöver hämta kontonummer som har genomfört minst en transaktion (överfört pengar till ett annat konto) sorterade i stigande ordning.

Observera

Använd LEFT eller INNER join-typ för att slutföra denna uppgift.

Lösning

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 2. Kapitel 7
single

single

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

close

Awesome!

Completion rate improved to 4.35

bookUtmaning: Frågeoptimering

Svep för att visa menyn

Låt oss utforska två tabeller: BankAccounts och en ytterligare tabell med namnet Transactions.

BankAccounts table

Transactions table

Anta att vi vill hämta endast de kontonummer som har genomfört minst en transaktion.

I denna uppgift har vi en fråga som inte är optimerad. Din uppgift är att skriva om den på ett mer optimalt sätt.

Här är en lista över de viktigaste teknikerna för omskrivning av frågor för att förbättra optimeringen:

  1. Specificera kolumner explicit: Istället för att använda asterisken (*) som jokertecken, ange kolumnnamn explicit i frågor för bättre prestanda, läsbarhet och underhållbarhet;

  2. Minimera underfrågor: Minska användningen av underfrågor för att optimera frågans prestanda. Överväg alternativ som joins eller härledda tabeller för att undvika komplexitet och överbelastning;

  3. Undvik upprepade IN-operatorer: Begränsa användningen av IN-operatorn i frågor för att förhindra prestandapåverkan. Överväg istället att använda JOIN- eller EXISTS-satser för mer effektiva exekveringsplaner;

  4. Organisera joins logiskt: Börja SQL-joins med huvudtabellen och anslut sedan till relaterade tabeller för att optimera frågans struktur och databasens optimering;

  5. Använd restriktiva WHERE-villkor: Förbättra frågans prestanda genom att inkludera restriktiva villkor i WHERE-satsen för att filtrera rader och öka exekveringshastigheten;

  6. Omstrukturera kod till lagrade procedurer eller funktioner: Kapsla in upprepande kodavsnitt i lagrade procedurer eller användardefinierade funktioner för återanvändbarhet, modularitet och enklare underhåll. Dessa kan minska redundans och optimera SQL-frågor.

Uppgift

Swipe to start coding

Vänligen skriv om frågan på ett mer optimalt sätt. Observera att vi endast behöver hämta kontonummer som har genomfört minst en transaktion (överfört pengar till ett annat konto) sorterade i stigande ordning.

Observera

Använd LEFT eller INNER join-typ för att slutföra denna uppgift.

Lösning

Switch to desktopByt till skrivbordet för praktisk övningFortsätt där du är med ett av alternativen nedan
Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

close

Awesome!

Completion rate improved to 4.35
Avsnitt 2. Kapitel 7
single

single

some-alt