Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Haaste: Kyselyn Optimointi | Kyselyoptimointi.Indeksit
Edistyneet SQL-Tekniikat

bookHaaste: 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:

  1. Määrittele sarakkeet selkeästi: Käytä sarakkeiden nimiä kyselyissä asteriskin (*) sijaan paremman suorituskyvyn, luettavuuden ja ylläpidettävyyden takaamiseksi;

  2. 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;

  3. Vältä toistuvia IN-operaattoreita: Rajoita IN-operaattorin käyttöä kyselyissä suorituskyvyn parantamiseksi. Käytä sen sijaan esimerkiksi JOIN- tai EXISTS-lausekkeita tehokkaampien suorituspolkujen saavuttamiseksi;

  4. 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;

  5. Käytä rajoittavia WHERE-ehtoja: Paranna kyselyn suorituskykyä lisäämällä rajoittavia ehtoja WHERE-lauseeseen rivien suodattamiseksi ja suoritusnopeuden kasvattamiseksi;

  6. 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ä.

Tehtävä

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- tai INNER-liitosta tämän tehtävän suorittamiseen.

Ratkaisu

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 2. Luku 7
single

single

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

Suggested prompts:

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?

close

Awesome!

Completion rate improved to 4.35

bookHaaste: 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:

  1. Määrittele sarakkeet selkeästi: Käytä sarakkeiden nimiä kyselyissä asteriskin (*) sijaan paremman suorituskyvyn, luettavuuden ja ylläpidettävyyden takaamiseksi;

  2. 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;

  3. Vältä toistuvia IN-operaattoreita: Rajoita IN-operaattorin käyttöä kyselyissä suorituskyvyn parantamiseksi. Käytä sen sijaan esimerkiksi JOIN- tai EXISTS-lausekkeita tehokkaampien suorituspolkujen saavuttamiseksi;

  4. 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;

  5. Käytä rajoittavia WHERE-ehtoja: Paranna kyselyn suorituskykyä lisäämällä rajoittavia ehtoja WHERE-lauseeseen rivien suodattamiseksi ja suoritusnopeuden kasvattamiseksi;

  6. 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ä.

Tehtävä

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- tai INNER-liitosta tämän tehtävän suorittamiseen.

Ratkaisu

Switch to desktopVaihda työpöytään todellista harjoitusta vartenJatka siitä, missä olet käyttämällä jotakin alla olevista vaihtoehdoista
Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

close

Awesome!

Completion rate improved to 4.35
Osio 2. Luku 7
single

single

some-alt