numar optim de inregistrari in tabela

Întrebări legate de conectarea la baze de date MySQL prin intermediul PHP

Moderatori: Zamolxe, Moderatori

optick
PHPRomania Supporter
Mesaje: 18
Membru din: Dum Apr 20, 2008 1:26 am

numar optim de inregistrari in tabela

Mesajde optick » Joi Aug 07, 2008 4:52 pm

salut,

am o baza da date care contine mai multe tabele (aproximativ 200)

care ar fi numarul de inregistrari optim care sa fie stocat intr-o tabela pentru ca viteza de executie sa nu fie afectata (sa scada) foarte mult ??

tabela are 14 campuri maxim.

ms de sfat sau eventual raspuns ;)



Avatar utilizator
gabysolomon
Senior Member
Mesaje: 743
Membru din: Dum Apr 09, 2006 11:39 am
Localitate: Bacau
Contact:

Mesajde gabysolomon » Joi Aug 07, 2008 11:24 pm

depinde si de modul cum setezi indexi pentru o tabela,

cel mai mare numar cu care am lucrat eu a fost 3 milioane de inregistrari intr-o tabela tot cam cum 14-15 campuri dintre care 2 text

optick
PHPRomania Supporter
Mesaje: 18
Membru din: Dum Apr 20, 2008 1:26 am

Mesajde optick » Joi Aug 07, 2008 11:41 pm

depinde si de modul cum setezi indexi pentru o tabela,


nu prea am inteles partea cu setatul de indecsi...... cum ar trebui setati ?

Avatar utilizator
gabysolomon
Senior Member
Mesaje: 743
Membru din: Dum Apr 09, 2006 11:39 am
Localitate: Bacau
Contact:

Mesajde gabysolomon » Vin Aug 08, 2008 12:05 am

adica depinde cati setezi si pe ce campuri, in functie de asta va merge mai repede sau mai incet.
Indexi trebuie setati pe campurile pe care se face cel mai des cautarea, insa e o intreaga filozofie la ei. ... so google away ;)

optick
PHPRomania Supporter
Mesaje: 18
Membru din: Dum Apr 20, 2008 1:26 am

Mesajde optick » Vin Aug 08, 2008 12:12 am

aha... din fericire indecsi nu o sa reprezinte o problema pt mine. scot o singura data niste rapoarte din tabela dupa care sterg inregistrarile ;)

o ultima intrebare (sper) in topicul asta:
daca ar trebui sa adaugi intro tabela din care sa extragi niste rapoarte ce ai insera: id_user sau nume_user ; id_produs sau nume_produs; etc....

ideea e: mai bine inserezi caracter (nume) sau integer (id) e mai ok ?

ms si bafta in continuare

dechim
Senior Member
Mesaje: 1486
Membru din: Mar Mai 10, 2005 11:53 pm
Localitate: Drobeta Turnu Severin

Mesajde dechim » Vin Aug 08, 2008 12:31 am

ID-urile ! Celelalte campuri se mai schimba. Poate in cazul user-ilor nu, dar la produse... E mai greu la interogari fiind nevoie de legatura intre tabele dar merita. E o teorie intreaga de optimizare a bazelor de date legat de aspectul asta, compromisul se face intre viteza de executie si informatia redundanta. Cu cat ai mai putina informatie redundanta cu atat viteza de executie este mai mica. Astfel daca nu repeti continutul nici unui camp si faci legatura intre tabele prin ID-uri, interogarile merg mai incet decat daca ai duplica acele campuri in celelelalte tabele. Pe de alta parte existenta in mai multe tabele a unor campuri cu informatie identica face greoi procedul de actualizare. Va trebui sa schimbi valorile unor campuri in mai multe tabele si asta doar ca sa ai interogari pe cate o tabela.
Nu stiu daca am fost explicit, eu zic sa folosesti ID-uri !


Înapoi la “MySQL”

Cine este conectat

Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 12 vizitatori