Citat:
Originalno napisao Pedja
Cini mi se da je ovde kvaka u asocijativnom nizu PHP-a posto to izgleda radi vraski brzo, bez obzira na poredjenje sa MySQL-om. Ne znam kako to radi interno, ali mi se nikako ne uklapa da je brze nego sto to radi MySQL.
|
pa asocijativni niz je svakako brzi jer on:
1. ima uvek sve podatke u memoriji (indexi se keshiraju, ali su ipak na disku)
2. radi kao hash tabela, a mysql indexi su valjda B-stabla. Hash na osnovu kljuca racuna formulom direktno poziciju podatka i pristupa mu direktno(ili u par koraka kod kolizija), dok stablo zahteva spustanje po cvorovima...
medjutim priznajem da nisam imao pojma da je tolika razlika..
postoji jos jedan problem kod mysql join-ova, kad ima puno podataka u tabela nad kojima se radi join. Ako ih pustis na 2 tabele od kojih jedna ima npr. 20 miliona recorda mozes slobodno da zaboravis na server, mrtav je, sa ili bez indexa. Pravio sam neke spajdere koji skupljaju uzasno mnogo podataka, i morali smo da splitujemo tabele svakih milion, milion i po recorda, jer cela baza postane uzasno spora...