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.
Optimaalinen ratkaisu
1
199
Vastaukset
- 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
Et siis vieläkään
Et ilmeisesti ole vieläkään päässyt loppuun asti mun kirjoituksissa täällä. Kerro ihmeessä sit, kun valmista 😁 tuskin k512254Hyvä että lähdit siitä
Ties mitä oisin keksinyt jos oisit jäänyt siihen, näit varmaan miten katoin sua.... 😘🤭😎💖251028Aavistatko että moni tietää
Vai ollaanko hyvin vedätetty pokerinaamalla. No kun vähiten odotat niin yllätämme sinut82962Yritin saada
Vastauksia mutta et voinut olla rehellinen ja kaiken kannoin yksin. Halusin kovasti ymmärtää mutta en voi enää ymmärtää.11914Koronarokotus sattui oudon paljon nyt sairaanhoitaja Tanja 46 istuu pyörätuolissa
Pitkä piina piikistä Kun Tanja Vatka käy suihkussa, tuntuu kuin ihoa revittäisiin raastinraudalla irti. Hän on kärsinyt54873- 68873
Olisitko mies valmis?
Maksamaan naisellesi/vaimollesi/tyttöystävällesi elämisestä syntyvät kulut, ruokailun, vuokran ja muut välttämättömät me126853Kronikat..
Mikä hele… on tää yks kronikat mikä suoltaa facessa kaikkea julkaisua ja AINA samoista firmoista imatralla??? Eikö ne mu10773vieläkin sanoa voin...
💖💛💖💛💖💛💖💛💖 💛 Beijjjbeh 💛 Kaks vuotta tänään täällä. Miten hitossa jotkut on jaksaneet kymmeniä vuos22753Täällä istun ja mietin
Miten paljon haluaisin katsoa sinua juuri niin kuin haluaisin katsoa sinua. Rakastavin silmin. Näkisit vihdoin senkin pu49749