2010-05-09 10 views

Répondre

1

fetchAll() va chercher tous les résultats dans un grand tableau.

Avec des jeux de résultats très volumineux, cela pourrait dépasser la limite de mémoire du script PHP.

Un pur fetch() va chercher chaque enregistrement un par un, neutralisant ce danger.

C'est la seule raison de ne pas utiliser fetchAll() Je peux penser à.

+0

Bien sûr, mais nous n'émettons généralement pas d'instructions SQL comme 'SELECT * FROM oneMillionRowsTable' sans clause limit, Au moins, je n'ai jamais vu une telle requête dans les applications web. –

+1

@Alix moi non plus, mais il n'est pas totalement impensable de se produire. Je préfère la variante 'fetch' d'un sens général de" La mémoire de mon script PHP est plus limitée que celle du serveur mySQL ". Il se pourrait, cependant, que 'fetchAll' soit plus rapide car il ne parle qu'une seule fois au serveur - je ne sais pas, je ne l'ai jamais mesuré. –

+0

Merci Pekka. =) –

Questions connexes