Milloin kannattaa laittaa kentät erilliseen tauluun?
Jos vaikka kolme "text"-kentää (joiden pituus on keskimäärin 200-500 merkkiä) joista jokainen on määritelty 30% todennäköisyydellä, eli 70% riveistä on NULL arvoja, niin kannattako laittaa mieluummin jokainen tällainen "text" -kenttä erilliseen tauluun? Tarkoituksena on saavuttaa mahdollisimman nopeat hakuajat (levytilaa ei tarvitse säästää, vaikka sekin vaikuttaa hakunopeuteen).
Mitä hidastaa enemmän, tuollaiset NULL kentät, vai kolme ylimääräistä UNIONia jokaisessa haussa?
Jos vaikka kolme "text"-kentää (joiden pituus on keskimäärin 200-500 merkkiä) joista jokainen on määritelty 30% todennäköisyydellä, eli 70% riveistä on NULL arvoja, niin kannattako laittaa mieluummin jokainen tällainen "text" -kenttä erilliseen tauluun? Tarkoituksena on saavuttaa mahdollisimman nopeat hakuajat (levytilaa ei tarvitse säästää, vaikka sekin vaikuttaa hakunopeuteen).
Mitä hidastaa enemmän, tuollaiset NULL kentät, vai kolme ylimääräistä UNIONia jokaisessa haussa?
Vastaukset 1
Vanhimmat
Et kertonut tarkemmin mitä olet tekemässä, mutta ei kenttiä erilliseen tauluun vaan samaan tauluun ja sit liitoksilla tarvittava tieto. Tällöin turhia tyhjiä ei tule.
"Mitä hidastaa enemmän, tuollaiset NULL kentät, vai kolme ylimääräistä UNIONia jokaisessa haussa?"
UNION hidastaa enemmän, tällöin tehdään kolme SELECT kyselyä yhden sijasta. Liitoksilla tuo on todella tehokas ja myös laajennettavissa.