Tietokantojen perusteet syksy 2021

Tehtävä 3: Indeksin tehokkuus

Tee ohjelma, jonka avulla voidaan suorittaa tietokannan tehokkuustesti. Tehokkuustestin osat ovat: Toteuta ohjelma niin, että kaikki rivit lisätään saman transaktion sisällä (esimerkiksi alussa komento BEGIN ja lopussa komento COMMIT), jotta rivien lisääminen ei vie liikaa aikaa.

Elokuvien määrän laskemisessa käytä kyselyä, jossa haetaan COUNT(*) ehtoon täsmäävistä riveistä.

Suorita ohjelman avulla kolme testiä seuraavasti:

  1. Tauluun ei lisätä kyselyitä tehostavaa indeksiä.
  2. Tauluun lisätään kyselyitä tehostava indeksi ennen rivien lisäämistä.
  3. Tauluun lisätään kyselyitä tehostava indeksi ennen kyselyiden suoritusta.
Ilmoita jokaisesta testistä rivien lisäämiseen ja kyselyiden suoritukseen kuluva aika sekä tietokantatiedoston koko testin jälkeen. Miten voit selittää testin tulokset?

Varmista ennen varsinaisia testejä, että kyselysi antavat järkeviä tuloksia: indeksin tulisi nopeuttaa kyselyjä merkittävästi testeissä 2 ja 3. Älä kuitenkaan tulosta varsinaisissa testeissä mitään muuta kuin ajankäyttö, jotta tulostaminen ei vääristä testin tulosta.

Tarkasta tietokantatiedoston koko ohjelman suorituksen jälkeen.

Arvostelu

Saat 5 pistettä jokaisesta testistä, jossa olet ilmoittanut tulokset ja tulokset ovat järkevällä välillä. Pisteiden saaminen vaatii, että lähetät selityksen tuloksista ja ohjelmasi lähdekoodin. Voit halutessasi tehdä vain osan testeistä ja saada pisteet niistä.

Testi 1

Rivien lisäämiseen kuluva aika: sekuntia

Kyselyiden suoritukseen kuluva aika: sekuntia

Tietokantatiedoston koko testin lopuksi: megatavua

Testi 2

Rivien lisäämiseen kuluva aika: sekuntia

Kyselyiden suoritukseen kuluva aika: sekuntia

Tietokantatiedoston koko testin lopuksi: megatavua

Testi 3

Rivien lisäämiseen kuluva aika: sekuntia

Kyselyiden suoritukseen kuluva aika: sekuntia

Tietokantatiedoston koko testin lopuksi: megatavua

Miten selität testin tulokset?

Testiohjelman lähdekoodi

The deadline for this task has passed but you can still check your answers


Return to task list