deljenje na veliki broj tabela je cest pristup... isti ima svoje prednosti i mane no u svakom slucaju nije "los" i za sistem gde je potrebna brzina prilicno dobar....
najbolja alternativa tom pristupu je partitioning:
http://dev.mysql.com/doc/refman/5.1/en/partitioning.html
- ima sve benefite koje ima pristup sa gomilom tabela
- ima dodatne benefite (ne moras da cuvas gde se sta nalazi na primer)
- nema one mane koje ima pristup sa gomilom tabela
ono sto su danas problemi sa partitioningom je
- partitioning nije prisutan u mysql-u dovoljno dugo te nije dovoljno istestiran
- nema dovoljan broj klijenata koji koriste partitioning u production okruzenju tako da nemam feedback koliko je stabilan
- da li sam spomenuo da nemamo pojma koliko je stabilan?
realno, sun sada ima nekoliko velikih klijenata koji koriste partitioning i oni su pomogli u testiranju i doveli partitioning dovde. partitioning je jedan od razloga zasto je 5.1 cekao ovoliko dugo da postane GA i jedan od razloga zasto se neki ne slazu da je 5.1 "dovoljno dobar za GA" (monti na primer) posto je to nedovoljno istestiran proizvod da bi se reklo da je "Stabilan". Ono sto je glavni problem partitioninga je "administracija particija", do pre neku verziju, uopste nisi mogao da popravis tabelu ako je jedan particija zabodena .. i dalje neke administrativne operacije nad jednom particijom (na primer analyze) u stvari se izvrsavaju nad celom tabelom i slicno ...
za proizvod koji "danas" treba da ide u production - ja bih se zadrzao na pokazanom resenju (mnogo tabela), za proizvod koji ce u production za 6+ meseci, ja bih koristio partitioning "od odma" kako bih
- testirao ponasanje partitioninga
- ukazao sun-u na potencijalne bagove na koje sam naisao tokom testiranja kako bi ih sun u narednih 6 meseci ispravio
sve u svemu, ja znam za dva klijenta (mozda ih ima vise ali ja nisam naleteo) koji koriste partitioning u production okruzenju sa tabelama preko 500M slogova / tabelema velikim po nekoliko desetina G .. jos niko nije ostao bez podataka :D ali se desilo da je jedan klijent imao 6h downtime zato sto je morao da se radi rebuild cele tabele umesto samo jedne particije
izvini na odgovoru "s'brda s'dola" ... nije mi danas dan