Haaste: Kyselyn Optimointi
Tutustutaan kahteen tauluun: BankAccounts
ja toiseen tauluun nimeltä Transactions
.
BankAccounts table
Transactions table
Oletetaan, että haluamme hakea vain ne tilinumerot, jotka ovat suorittaneet vähintään yhden tapahtuman.
Tässä tehtävässä meillä on kysely, joka ei ole optimoitu. Tehtävänäsi on kirjoittaa se uudelleen optimaalisemmalla tavalla.
Tässä on luettelo tärkeimmistä kyselyn uudelleenkirjoitustekniikoista optimoinnin parantamiseksi:
-
Määrittele sarakkeet selkeästi: Käytä sarakkeiden nimiä kyselyissä asteriskin (
*
) sijaan paremman suorituskyvyn, luettavuuden ja ylläpidettävyyden takaamiseksi; -
Minimoi alikyselyiden käyttö: Vähennä alikyselyiden määrää kyselyn suorituskyvyn optimoimiseksi. Harkitse vaihtoehtoja, kuten liittymiä (JOIN) tai johdettuja tauluja, välttääksesi monimutkaisuutta ja ylikuormitusta;
-
Vältä toistuvia IN-operaattoreita: Rajoita
IN
-operaattorin käyttöä kyselyissä suorituskyvyn parantamiseksi. Käytä sen sijaan esimerkiksiJOIN
- taiEXISTS
-lausekkeita tehokkaampien suorituspolkujen saavuttamiseksi; -
Järjestä liittymät loogisesti: Aloita SQL-liittymät päätaulusta ja liitä sen jälkeen liittyvät taulut kyselyn rakenteen ja tietokantamoottorin optimoinnin parantamiseksi;
-
Käytä rajoittavia WHERE-ehtoja: Paranna kyselyn suorituskykyä lisäämällä rajoittavia ehtoja
WHERE
-lauseeseen rivien suodattamiseksi ja suoritusnopeuden kasvattamiseksi; -
Refaktoroi koodi tallennettuihin prosedyyreihin tai funktioihin: Kapseloi toistuvat koodiosuudet tallennettuihin prosedyyreihin tai käyttäjän määrittelemiin funktioihin uudelleenkäytettävyyden, modulaarisuuden ja helpomman ylläpidon takaamiseksi. Näin voidaan vähentää redundanssia ja optimoida SQL-kyselyitä.
Swipe to start coding
Kirjoita kysely uudelleen optimaalisemmalla tavalla. Huomioi, että tarvitsemme vain tilinumerot, joilla on suoritettu vähintään yksi tapahtuma (siirretty rahaa toiselle tilille), lajiteltuna nousevaan järjestykseen.
Huomio
Käytä
LEFT
- taiINNER
-liitosta tämän tehtävän suorittamiseen.
Ratkaisu
Kiitos palautteestasi!
single
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Can you show me the unoptimized query?
What would an optimized query look like for this task?
Can you explain why the optimized query is better?
Awesome!
Completion rate improved to 4.35
Haaste: Kyselyn Optimointi
Pyyhkäise näyttääksesi valikon
Tutustutaan kahteen tauluun: BankAccounts
ja toiseen tauluun nimeltä Transactions
.
BankAccounts table
Transactions table
Oletetaan, että haluamme hakea vain ne tilinumerot, jotka ovat suorittaneet vähintään yhden tapahtuman.
Tässä tehtävässä meillä on kysely, joka ei ole optimoitu. Tehtävänäsi on kirjoittaa se uudelleen optimaalisemmalla tavalla.
Tässä on luettelo tärkeimmistä kyselyn uudelleenkirjoitustekniikoista optimoinnin parantamiseksi:
-
Määrittele sarakkeet selkeästi: Käytä sarakkeiden nimiä kyselyissä asteriskin (
*
) sijaan paremman suorituskyvyn, luettavuuden ja ylläpidettävyyden takaamiseksi; -
Minimoi alikyselyiden käyttö: Vähennä alikyselyiden määrää kyselyn suorituskyvyn optimoimiseksi. Harkitse vaihtoehtoja, kuten liittymiä (JOIN) tai johdettuja tauluja, välttääksesi monimutkaisuutta ja ylikuormitusta;
-
Vältä toistuvia IN-operaattoreita: Rajoita
IN
-operaattorin käyttöä kyselyissä suorituskyvyn parantamiseksi. Käytä sen sijaan esimerkiksiJOIN
- taiEXISTS
-lausekkeita tehokkaampien suorituspolkujen saavuttamiseksi; -
Järjestä liittymät loogisesti: Aloita SQL-liittymät päätaulusta ja liitä sen jälkeen liittyvät taulut kyselyn rakenteen ja tietokantamoottorin optimoinnin parantamiseksi;
-
Käytä rajoittavia WHERE-ehtoja: Paranna kyselyn suorituskykyä lisäämällä rajoittavia ehtoja
WHERE
-lauseeseen rivien suodattamiseksi ja suoritusnopeuden kasvattamiseksi; -
Refaktoroi koodi tallennettuihin prosedyyreihin tai funktioihin: Kapseloi toistuvat koodiosuudet tallennettuihin prosedyyreihin tai käyttäjän määrittelemiin funktioihin uudelleenkäytettävyyden, modulaarisuuden ja helpomman ylläpidon takaamiseksi. Näin voidaan vähentää redundanssia ja optimoida SQL-kyselyitä.
Swipe to start coding
Kirjoita kysely uudelleen optimaalisemmalla tavalla. Huomioi, että tarvitsemme vain tilinumerot, joilla on suoritettu vähintään yksi tapahtuma (siirretty rahaa toiselle tilille), lajiteltuna nousevaan järjestykseen.
Huomio
Käytä
LEFT
- taiINNER
-liitosta tämän tehtävän suorittamiseen.
Ratkaisu
Kiitos palautteestasi!
Awesome!
Completion rate improved to 4.35single