Salut, iata ipoteza problemei
Este vorba despre o baza de date cu aproximativ 800 000 inregistrari ce bate pe la 1gb care are nevoie de update zilnic.
Navigarea prin aceasta baza de date se face in functie de:
val1[vc], val2[vc], val3[tinyint - an] in mod normal
val1 si val2 au fost adunate intr-un id numeric din motive usor de inteles
totul ca la carte pana aici, dar problema apare cand intra si val4[varchar(50)] in felul urmator
Dupa ce esti pe lista de inregistrari caracteristica val1,2,3 este un select din care iti poti alege val4
val4 nu este nimic predefinit ci o coloana din inregistrari care se poate repeta, astfel acest select se face in urma unei interogari:
SELECT DISTINCT `val4` FROM `tabel` WHERE `id`=[id] and `year`=[year]
+ trafic mare => crapa mysql-ul
Ma gandisem sa mai fac un tabel tampon cu coloanele id an val4, voi ce ziceti?
Problema DISTINCT MySQL intr-o bd mare
Moderatori: Zamolxe, Moderatori
Re: Problema DISTINCT MySQL intr-o bd mare
Sa inteleg ca tabelul tau arata de genul:
id | year | val4 | ...
Care sunt indecsii?
id | year | val4 | ...
Care sunt indecsii?
Re: Problema DISTINCT MySQL intr-o bd mare
Multumesc ca incerci sa ma ajuti,
Tabelul are 15 campuri caracteristice produsului, ceva de genul
id_produs
id_producator_model
an
val4
descriere
.
.
.
val20
@de la descriere in jos sunt campuri cu caracteristici care vor fi doar selectate
Tabelul are 15 campuri caracteristice produsului, ceva de genul
id_produs
id_producator_model
an
val4
descriere
.
.
.
val20
@de la descriere in jos sunt campuri cu caracteristici care vor fi doar selectate
Nu mai fi chel http://www.caderea-parului.ro
Re: Problema DISTINCT MySQL intr-o bd mare
Ai uitat sa pui indecsii ...
Re: Problema DISTINCT MySQL intr-o bd mare
am uitat sa scriu...
primesc rezultatele in 0.05 to 0.009 secunde
problema e cand e trafic: la 30 de astfel de query simultane sare load la 160% pe cpu iar memoria ramane 10-15% used
primesc rezultatele in 0.05 to 0.009 secunde
problema e cand e trafic: la 30 de astfel de query simultane sare load la 160% pe cpu iar memoria ramane 10-15% used
Nu mai fi chel http://www.caderea-parului.ro
Re: Problema DISTINCT MySQL intr-o bd mare
Glumesti, nu?
Problema ta e de la indecsi, acuma daca nu stii ce vorbesc poti sa pornesti de aici: http://dev.mysql.com/doc/refman/5.5/en/ ... dexes.html
Problema ta e de la indecsi, acuma daca nu stii ce vorbesc poti sa pornesti de aici: http://dev.mysql.com/doc/refman/5.5/en/ ... dexes.html
Re: Problema DISTINCT MySQL intr-o bd mare
scrisesem ca am uitat sa scriu, nu sa-i adaug, indecsii exista si au existat, dupa cum urmeaza
id+year+var4 e trecut ca index compozit
id+year de asemenea e index compozit
iar id e si foreign key
id+year+var4 e trecut ca index compozit
id+year de asemenea e index compozit
iar id e si foreign key
Nu mai fi chel http://www.caderea-parului.ro
Re: Problema DISTINCT MySQL intr-o bd mare
ceva solutii?
clar nu este o problema de optimizare de query sau tabel
clar nu este o problema de optimizare de query sau tabel
Nu mai fi chel http://www.caderea-parului.ro
Cine este conectat
Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 6 vizitatori