è vero che celerizza se devo soltanto usarla per una select di un ciclo while dove non si effettuano query?
cosa cambia rispetto al classico mysql_query
??
è vero che celerizza se devo soltanto usarla per una select di un ciclo while dove non si effettuano query?
cosa cambia rispetto al classico mysql_query
??
Ci sono pro e contro. Un pro e' che occupa meno memoria perche' estrae le righe e le invia senza bufferizzarle. Un contro e' che ci sono parecchie cose che non puoi fare, per esempio un'altra query se quella in corso non ha completato lo scarico delle tuple.Originariamente inviato da kilio
è vero che celerizza se devo soltanto usarla per una select di un ciclo while dove non si effettuano query?
cosa cambia rispetto al classico mysql_query
??
Valuta tu:
http://it.php.net/manual/it/function...ered-query.php
Il silenzio è spesso la cosa migliore. Pensa ... è gratis.
dipende da che si ci deve fareOriginariamente inviato da piero.mac
Ci sono pro e contro. Un pro e' che occupa meno memoria perche' estrae le righe e le invia senza bufferizzarle. Un contro e' che ci sono parecchie cose che non puoi fare, per esempio un'altra query se quella in corso non ha completato lo scarico delle tuple.
Valuta tu:
http://it.php.net/manual/it/function...ered-query.php
se ad es fai una inner join e ti serve elaborare semplicemente i dati è un'ottima cosa...se ti serve fare un ciclo dove estrai i dati e lanciare una query allora no ^^
con unbuffered query non le estrai proprio le estrae sul momento, quando fai la richiesta per fare il fetch
VM su SSD da 5$! https://www.digitalocean.com/?refcode=f6925c7f0ddb
le query "classiche" fatte con mysql_query inviano la query al database, recuperano i dati e chiudono il dataset dei risultati. I dati xò anche se te non li leggi con mysql_fetch_XXX vengono comunque salvati in memoria, tutti quanti, quindi se una select ritorna molti risultati potresti avere consumi di memoria esagerati per il tuo script php. Con mysql_unbuffered_query invece il dataset non viene chiuso e ogni volta che recuperi i dati li vai a recuperare dal dataset stesso ancora aperto sul database. Questo ha come vantaggio un minor consumo di memoria per il tuo script php. Ragionando un po' per il sistema il consumo è invariato, ma dato che la memoria assegnata ad ogni script php è limitata, e quella utilizzabile da un database no, è consigliabile usare la seconda.
Cmq io rimango del parere che in un sito web select che ritornino molti risultati non devono verificarsi...
c'è anche un'altro vantaggio non indifferente
il tempo di esecuzione ^^
mysql le deve estrarre e mettere in memoria e poi tu le elabori...mentre con unbuffered query vengono estratte sul momento quindi si risparmia un ciclo
secondo me, dove non servono doppie query o operazioni particolari da eseguire sul result set conviene usare la versione unbuffered di query
VM su SSD da 5$! https://www.digitalocean.com/?refcode=f6925c7f0ddb
Per il mio uso non serve, perche' ho diverse query contemporanee da utenti vari e queste vengono accodate, poi non si possono contare le righe estratte con mysql_num_rows, e poi appunto non si dovrebbe mai avere una valanga di dati in uscita.
Per la memoria mysql_free_result et voila'....
Dipende dalle esigenze. Come penso e dico, non c'e' il meglio od il peggio nelle funzioni, sono strumenti a disposizione a seconda dei bisogni.
Il silenzio è spesso la cosa migliore. Pensa ... è gratis.
ok le mie esigenze sono semplici semplici:
1) estraggo dal database le discussioni (solo i titoli)
2) faccio il ciclo while con mysql_fetch_array per mostrare a video
3) durante il ciclo faccio 2 diverse query per vedere:
a: chi ha iniziato la discussione
b: quante risposte ha quella discussione.
compris?
ps. mi da problemi con le date (che sono in datatime) dovrò metterle come INT?
mi assicura maggiore precisione, vero???
genio?Originariamente inviato da piero.mac
Per il mio uso non serve, perche' ho diverse query contemporanee da utenti vari e queste vengono accodate, poi non si possono contare le righe estratte con mysql_num_rows, e poi appunto non si dovrebbe mai avere una valanga di dati in uscita.
Per la memoria mysql_free_result et voila'....
Dipende dalle esigenze. Come penso e dico, non c'e' il meglio od il peggio nelle funzioni, sono strumenti a disposizione a seconda dei bisogni.
che vuol dire??
A capirti....Originariamente inviato da kilio
genio?
che vuol dire??
genio:
gènio - Nella mitologia greco-romana, divinità tutelare della vita di ognuno - Entità astratta cui si attribuisce la facoltà di presiedere agli eventi della vita umana - Talento, tendenza naturale -
gènio - Talento inventivo o creativo nelle sue manifestazioni più alte -
gènio - Organismo civile o militare cui è affidato il compito della progettazione, costruzione e riparazione di lavori di interesse pubblico o militare
oppure non ho capito la domanda....
Il silenzio è spesso la cosa migliore. Pensa ... è gratis.
mi riferivo all'uso di mysql_free_result.
cmq ho letto il manuale e ho capito.
adesso il mio problema è inserire le date in un campo int 10 visto che l'attuale datatime mi fa un boato di casini... :maLOL: