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

Raspunde prin e-mail lui