[Php-it] scelte prestazionali
Luca 'Ziabice' Gambetta
lucagambetta at tiscali.it
Sun Oct 1 12:35:02 CEST 2006
On Thursday 28 September 2006 16:19, Emiliano Gabrielli (aka AlberT) wrote:
> tentativo di metafora a parte... se fai una select sola, per poi farti
> laricerca nel result da php non fai che
> 1) caricare la rete con tonnellate di dati inutili, al solo scopo di
> buttarli 2) caricare la RAM del web server con gli stessi dati allo stesso
> scopo 3) far lavorare 1 script PHP su tali dati per un tempo non
> necessario.. e quindi diminuire il numero di pagine che la macchina "web
> server" può servire contemporaneamente
> 4) evitare al DBMS parte del lavoro ... *quel* lavoro per cui è progettato
> ed ottimizzato ... eviti al DBMS di fare il *suo* lavoro
Eh, in teoria va bene (inutile che ti dica che io la penso esattamente come
te), ma in pratica spesso non è così. Ti porto un caso reale.
Tempo fa sono stato costretto a far fare tutte le operazioni su un db a php
perché semplicemente il db server si coricava. Lo scenario era una tabella
mysql (invero normalizzata molto male) con circa 1 milione di record di cui
ovviamente ne prendevo una parte (tra i 20 e i 100 mila record, a seconda dei
casi) e che dovevo incrociare con altre tabelle per eseguire delle
sincronizzazioni.
Sono stato costretto dalla pochezza delle performance a ricorrere a più
tabelle temporanee, elaborazioni via php e altri accorgimenti solo per vedere
la fine nel processo di elaborazione. Grazie a questi giochetti ogni volta
per fare un test ci mettevo 20-30 minuti, ed era già una fortuna...
--
"Uhm... l'ho detto o l'ho solo pensato?"
.::. Ziabice aka Luca Gambetta .::.
More information about the Php-it
mailing list