Optimaalinen ratkaisu

sanapareille

Tarkoituksena olisi tehdä yhdyssanatietokanta

yhdessä taulussa olisivat kaikki sanat, esim:

(id) (varchar)
1 talo
2 kesä
3 auto
4 poika
6 kirja
7 pöytä
jne..

ja toisessa sanaparinindeksit, joksikin näin:

(id)(id_aku)(id_loppu)
1 1 6 #talokirja
2 2 3 #kesäauto
3 7 6 #pöytäkirja
jne..

Jos oletamme että sanoja on tosipaljon (500/700 tuhatta) ja yhdistelmiä vielä enemmän. Niin jos pitäisi hakea esim kaikki "ta*" alkuiset sanat, niin hausta tulisi aika raskas, eikö niin? Ensin pitäisi yhdistää taulu1 ja taulu2, ja sitten etsiä sanojen loppuosat taulu1:sta. Eikö niin?

Onko tähän tarkoitukseen olemassa joku parempi ratkaisu, kun pitää hakea sanat ensimmäisen sanan tai sen alkuosan perusteella ja hakuja suoritetaan tosi paljon.

1

150

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Jokunen

      *Niin jos pitäisi hakea esim kaikki "ta*" alkuiset sanat, niin hausta tulisi aika raskas, eikö niin?*

      Mikäli oikein olen ymmärtänyt niin osittaisen tekstin haku on raskas, tosin tuossa tapauksessa pystyy käyttää indeksiä varsin tehokkaasti joten ei se hirvittävän raskas ole.


      *Ensin pitäisi yhdistää taulu1 ja taulu2, ja sitten etsiä sanojen loppuosat taulu1:sta. Eikö niin?*

      Ei. Jos tarkoitat tuota ta* juttua, niin tietokanta hakee ensis kaik mitkä täsmää ehtoon ta* sen jälkeen vasta suorittaa tuon liitoksen.


      Et kertonu tietokantaa, mutta yleisesti voidaan sanoa, että ei varchar vaan ennemmin char jos halutaan tehokkas ratkaisu. Haittana on tilantarpeen kasvu. Varchar tyyppisis joudutaan katsomaan pituus joka on hidasta kiinteä mittaseen verrattuna.


      Ja mikäli tuo on liian hidas niin voit harkita denormalisointia.

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

    Luetuimmat keskustelut

    1. Tärkeä kysymys!

      Haluatko sinä, mies, minut?
      Ikävä
      88
      1184
    2. Asiallinen lähestyminen

      Mitä on asiallinen lähestyminen?? Tietääkö tai tajuaako kukaan, varsinkaan miehet??? Eilen NELJÄNNEN kerran jouduin isk
      Sinkut
      151
      1016
    3. En tiedä..

      Yhtään minkälainen miesmaku sinulla on. itse arvioin sinua moneenkin otteeseen ja joka kerta päädyin samaan lopputulokse
      Ikävä
      50
      701
    4. Jennika Vikman avoimena - Isosisko Erika Vikman ohjeisti napakasti Tähdet, tähdet -kisaan: "Älä.."

      Jennika ja Erika - niin ovat kuin kaksi marjaa! Ilmeiltään, ääneltään ja eleiltään hyvinkin samanlaiset - toinen on kyll
      Suomalaiset julkkikset
      14
      700
    5. Vedalainen metafysiikka

      Termi ”metafysiikka” kuuluu Aristoteleelle. Metafysiikka tarkoittaa ”fysiikan jälkeen” eli tietoa siitä, mikä on tavalli
      Hindulaisuus
      287
      685
    6. Mitäs nainen

      Meinaat tehdä viikonloppuna.
      Ikävä
      60
      674
    7. Ai jaa sinä oletkin ahnas

      Ja romanttinen luonne, nyt vasta hiffasin että olet naarastiikeri. Parempi myöhään kuin ei milloinkaan.
      Ikävä
      107
      660
    8. En oikeastaan usko että sinä tai kukaan

      Olisi oikeasti ihastunut tai rakastunut. Se on joku harhakuva joka minusta miehestä syntyi. Ja kun se särkyy, niin "tunt
      Ikävä
      42
      614
    9. Viime yönä mietin paikkoja luonnossa, missä olen kulkenut

      kävellyt ja ikävöinyt, ja ollut niin yksin. Monet kerrat. Ne palauttavat mieleeni sinut ja sen, kuinka kipeää on se kaip
      Ikävä
      57
      602
    10. Milloin viimeksi näit ikäväsi kohteen?

      Oliko helppo tunnistaa hänet? Millaisia tunteita tuo näkeminen herätti sinussa?
      Ikävä
      35
      585
    Aihe