Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: MySQL ja isot taulut

askomyyrä [27.03.2011 15:22:37]

#

Moi,

Olen suunnittelemassa hieman isompia tauluja MySQL:n käyttöön.

Projektissa automatiikka generoisi dataa kantaan ja rivejä päätauluun tulisi noin 200 000 ja sen jokaisella rivillä sarakkeita olisi noin 20. Haut kannasta tullaan tekemään PHP:llä ja tulostus dynaamisille web sivuille.

Eli lyhyesti, onko tämänlainen taulu vielä ihan normaalissa mittakoossa vai minkäkokoinen taulu on jo liian iso?

Pitäisikö rakennusvaiheessa huomioida jotain tiettyä, jotta myös haku kannasta hoituisi nopeasti? Yleisimmät haut tulisi olemaan 1-500 riviä per haku.

Onko MySQL:n ilmaisversiossa jotain rajoitteita tietokannan koon suhteen?

Metabolix [27.03.2011 15:34:50]

#

MySQL:n rajoituksista voi lukea MySQL:n dokumentaatiosta. Tuskinpa ne rajat sinulla tulevat vastaan.

20 saraketta ei sinänsä ole paljon, mutta varmista vielä, että suunnittelemasi rakenne on normalisoitu. Jos suuri osa sarakkeista jää yleensä tyhjäksi, suunnittelussa on luultavasti jotain vikaa.

200000 riviä ei ole kovin paljon, onhan esimerkiksi tällä foorumillakin jo lähes 180000 viestiä, ja tämä on sentään vain pieni suomalainen sivusto.

Jos hakuja tehdään erityisen paljon jonkin tietyn sarakkeen suhteen, kannattaa laittaa siihen sarakkeeseen indeksi.

esajeejee [27.03.2011 15:49:46]

#

Eihän tuo mikään valtava ole, mutta kuitenkin sen kokoinen että jos taulua joutuu jatkuvasti queryymaan niin huomaa varmasti jos indeksejä ei ole käytössä =)

Kannattaa ottaa huomioon mistä tauluista haetaan jatkuvasti tietoa ja mihin tauluihin laitetaan jatkuvasti tietoa. Oikein tehdyt indeksit nopeuttavat hakuja isoissa tauluissa äärettömän paljon, mutta ne hidastavat tauluun tiedon laittamista koska indeksit pitää aina päivittää tiedon muuttumisen jälkeen.

Tämmönen idea että jos tauluun tulee jatkuvasti dataa ja sitä ei olla jatkuvasti kyselemessä niin jätä siitä taulusta indeksit pois ja tee hakuja varten erikseen jotain itsenäisiä yhteenveto tauluja jotka voidaan hakuja varten indeksoida vaikuttamatta tiedon tallentamiseen päätaulussa.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta