Taulujen liitoksista

--------

Tulimpas tässä miettineeksi onkos mitään väliä missä järjestyksessä tauluja liittää? Vai voiko huoletta länttästä oman mieltymyksen mukaan ilman hitaantumista jne....

Keksitty esim
Kaupan_tuotteet (noin 1000 tuotetta)
Kaupan_asiakkaat (noin 200 asiakasta)
Kaupan_ostostapahtumat (noin 100000 ostostapahtumaa)

Jos haluttaisiin hakea x asiakkaan kaikki ostostapahtumat tuote tietoineen.

SELECT * FROM tuotteet AS t
JOIN ostostapahtumat AS o ON t.tuote_id = o.tuote_id
JOIN asiakkaat AS a ON a.asiakas_id = o.asiakas_id
WHERE a.asiakas_id = x

-----

SELECT * FROM asiakkaat AS a
JOIN ostostapahtumat AS o ON a.asiakas_id = o.asiakas_id
JOIN tuotteet AS t ON t.tuote_id = o.tuote_id
WHERE a.asiakas_id = x

Ja miten nuo liitokset pinnanalla menee, tehdäänkö eka WHERE ja sit lähdetään liittelemään?

2

531

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • I.Proqatlis

      Kosketat tässä ongelmaa, jonka käsittelyyn on uhrattu suunnattomia määriä aivotyötä.

      Asia ei ole aivan niin yksinkertainen, että kun joinit kirjoitetaan jossain järjestyksessä, ne myös suoritettaisiin siinä järjestyksessä. Itse asiassa kyselyn suorittamiseen kuluva aika saattaa vaihdella valtavasti riippuen siitä, missä järjestyksessä liitokset tehdään.

      Parhaan suoritustavan löytämiseksi on olemassa ohjelmia, joita kutsutaan englanniksi "query optimizer", siis optimoija. Se tutkii suoritettavaksi annetun SQL-lauseen ja analysoi sille mielestään parhaan suoritusstrategian. Valintaan vaikuttaa monia tekijöitä, mm. eri tauluissa olevien rivien määrä. Vasta tämän analyysin jälkeen, kun strategia on olemassa, lähdetään suorittamaan kyselyä.

      Tämä on laaja aihe, enkä yritä tässä sitä tarkemmin käsitellä. Eräs linkki, josta löytyy lisää tietoa, on tässä alla. Tuossa jutussa on myös linkkejä useihin sivuaviin aiheisiin.

      http://en.wikipedia.org/wiki/Query_optimizer

      • --------

        Kiitoksia jälleen, täytyypä illemmal tutkia mitä tuolt linkist löytyy. Hyvää juhannusta.


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. 6 kW saunan lämmityksestä kohta 10 euron lisämaksu / kerta

      Kokoomuslainen sähköyhtiöiden hallitsema Energiavirasto ehdottaa 5 kW:n rajaa, jonka ylittämisestä tulee lisämaksu. Tark
      Maailman menoa
      197
      6332
    2. Minja jytkyttää vas.liiton kannatusta ylöspäin

      Alkaa raavaat duunarimiehetkin palaamaan vasemmistoliiton kannattajiksi. Eduskunnassahan on vain kaksi työntekijöiden p
      Maailman menoa
      243
      4253
    3. "Mitä sä nainen tuot sitten pöytään" ?

      Jos mies provaidaa ja suojelee... Pitääkö miesten kysyä tuollaisia?
      Ikävä
      142
      3535
    4. Ekologinen kommunismi tulee voittamaan fossiilikapitalismin

      Kiina on mahtitekijä uusiutuvien energialähteiden kehityksessä, ja Trump osoitus viimeisestä öljyn perään itkemisestä, m
      Maailman menoa
      52
      3360
    5. Duunarit hylkäsivät vasemmistoliiton, siitä tuli feministinaisten puolue

      Pääluottamusmies Jari Myllykoski liittyi vasemmistoliittoon, koska se oli duunarien puolue. Sitä samaa puoluetta ei enää
      Maailman menoa
      89
      3312
    6. Mies, kerro minulle vielä jotakin aivan uniikkia

      ja ainutlaatuista minkä vain me kaksi voisimme ymmärtää jos olemme sen kokeneet ja eläneet, jotta ihan varmasti tietäisi
      Tunteet
      49
      2846
    7. Oikeistopuolueiden kannatus vain 37,8 %, vasemmiston 43,0 %

      Keskustaan jää 17,4 prosenttia ja loput ovat sitten mitä ovat. Mutta selvästikin Suomen kansa on vasemmalle kallellaan.
      Maailman menoa
      74
      2412
    8. Hyviäkin uutisia tulossa, hallinto-oikeus asettaa toimeenpanokieltoon

      Hyvinvointitalon työmaa pysähtyy. Rillankivi+energia ja vesi kytkyrahanpesu stoppaa. Tytäryhtiöiden hallitusjäsenet+kon
      Pyhäjärvi
      243
      2367
    9. Tiedän ettei

      Meistä mitään tule. Toinen oli sinulle tärkeämpi
      Ikävä
      25
      2336
    10. Gallup: Mikä on ollut mielestäsi paras tv-sarja ikinä?

      Gallup: Mikä on ollut mielestäsi paras tv-sarja ikinä? Onko se joku suomalainen viihdepläjäys, brittirikossarja, amerikk
      Tv-sarjat
      100
      1917
    Aihe