Cristian Dimache wrote:
Ziua bună,
Am o bază de date cu niște tabele cu niscaiva înregistrări (la nivel de
două-trei milioane). Pe aceste tabele se fac niște query-uri care-mi fac
MySQL-ul să gâfâie (și aș cam avea nevoie de răspunsuri cât mai aproape
de real-time, cinci secunde este deja prea mult).
M-a trăznit ideea să încerc MySQL Partitioning, să pun datele mai vechi
de trei luni într-o altă partiție, și să lucrez doar pe cele noi, mai
puține (deci sper eu că join-urile vor merge mai repede).
Gândesc bine? A mai încercat cineva acest suport de partitioning?
Acum încerc să citesc din forum-urile de la
http://forums.mysql.com/list.php?106 , dar poate îmi spune cineva un
horror-story ca să știu de ce să mă feresc
Ai incercat prima data sa verifici daca joinurile se fac cu ajutorul
indecsilor?
Din experienta (am si eu tabele de 7-10 mil linii la care fac join-uri
cu inca alte cateva tabele de sute de mii de linii) cativa indecsi bine
ganditi iti reduc f. mult timpul de executie la interogari. Mai merge si
optimizarea query-urilor, fortarea lor cu left/right join. Structura
tabelelor a fost optimizata? Mysqld-ul a fost parametrizat (query cache,
key cache,....)?
E greu de dat o solutie fara datele exacte a problemei.
Cristi
_______________________________________________
RLUG mailing list
[email protected]
http://lists.lug.ro/mailman/listinfo/rlug