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
Practice
Projects
Quizzes & Challenges
Quizzes
Challenges
/
SQL-optimointi ja kyselyominaisuudet

bookHaaste: Kyselyn Optimointi

Oletetaan, että haluamme hakea vain ne tilinumerot, jotka ovat suorittaneet vähintään yhden tapahtuman.

Tässä tehtävässä käytössä on ei-optimoitu kysely. Tehtävänäsi on kirjoittaa se uudelleen optimaalisemmalla tavalla.

Alla on lueteltu tärkeimmät kyselyjen uudelleenkirjoitustekniikat optimoinnin parantamiseksi:

  1. Määrittele sarakkeet selkeästi: käytä asteriskin (*) sijaan sarakkeiden nimiä kyselyissä 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 heikkenemisen estämiseksi. Käytä sen sijaan esimerkiksi JOIN- tai EXISTS-lausekkeita tehokkaampien suoritussuunnitelmien 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 suorituksen nopeuttamiseksi;

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

Tehtävä

Swipe to start coding

Tehtävänäsi on kirjoittaa kysely, joka palauttaa luettelon kaikista tilinumeroista, joilla on suoritettu vähintään yksi tapahtuma (siirretty rahaa toiselle tilille). Tulokset tulee järjestää nousevaan järjestykseen tilinumeron mukaan.

Tehostaaksesi ja selkeyttääksesi kyselyäsi, noudata seuraavia ohjeita:

  • Valitse vain account_number -sarake;
  • Käytä INNER JOIN -liitosta BankAccounts- ja Transactions-taulujen välillä;
  • Älä käytä IN-operaattoria tai alikyselyitä;
  • Järjestä tulos account_number-sarakkeen mukaan nousevaan järjestykseen.

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

close

bookHaaste: Kyselyn Optimointi

Pyyhkäise näyttääksesi valikon

Oletetaan, että haluamme hakea vain ne tilinumerot, jotka ovat suorittaneet vähintään yhden tapahtuman.

Tässä tehtävässä käytössä on ei-optimoitu kysely. Tehtävänäsi on kirjoittaa se uudelleen optimaalisemmalla tavalla.

Alla on lueteltu tärkeimmät kyselyjen uudelleenkirjoitustekniikat optimoinnin parantamiseksi:

  1. Määrittele sarakkeet selkeästi: käytä asteriskin (*) sijaan sarakkeiden nimiä kyselyissä 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 heikkenemisen estämiseksi. Käytä sen sijaan esimerkiksi JOIN- tai EXISTS-lausekkeita tehokkaampien suoritussuunnitelmien 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 suorituksen nopeuttamiseksi;

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

Tehtävä

Swipe to start coding

Tehtävänäsi on kirjoittaa kysely, joka palauttaa luettelon kaikista tilinumeroista, joilla on suoritettu vähintään yksi tapahtuma (siirretty rahaa toiselle tilille). Tulokset tulee järjestää nousevaan järjestykseen tilinumeron mukaan.

Tehostaaksesi ja selkeyttääksesi kyselyäsi, noudata seuraavia ohjeita:

  • Valitse vain account_number -sarake;
  • Käytä INNER JOIN -liitosta BankAccounts- ja Transactions-taulujen välillä;
  • Älä käytä IN-operaattoria tai alikyselyitä;
  • Järjestä tulos account_number-sarakkeen mukaan nousevaan järjestykseen.

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!

Osio 2. Luku 7
single

single

some-alt