mysql_fetch_array() vs mysql_fetch_assoc() WAS: Re: [PHP] Why does this script run out of memory?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Oct 28, 2011 at 18:13, Paul Halliday <paul.halliday@xxxxxxxxx> wrote:
>
> Whats the difference between fetch_assoc and fetch_row?
>
> I use:
> while ($row = mysql_fetch_row($theQuery)) {
>    doCartwheel;
> }
>
> on just under 300 million rows and nothing craps out. I have
> memory_limit set to 4GB though. Although, IIRC I pushed it up for GD
> not mysql issues.
>
> Same OS and php ver, MySQL is 5.1.48

    Please don't hijack other's threads to ask a question.  I've
started this as a new thread to address this question.

    mysql_fetch_array() grabs all of the data and places it in a
simple numerically-keyed array.

    By contrast, mysql_fetch_assoc() grabs it and populates an
associative array.  This means that the column names (or aliases, et
cetera) become the keys for the array.  With mysql_fetch_assoc(), you
can still call an array key by number, but it's not vice-versa with
mysql_fetch_array().

    The difference in overhead, if you meant that (in which case, my
apologies for reading it as a question of functional difference), is
variable: it's based mainly on the difference between the bytes
representing the integers used as keys in mysql_fetch_array() versus
the size in bytes of the strings used as keys in mysql_fetch_assoc().

-- 
</Daniel P. Brown>
Network Infrastructure Manager
http://www.php.net/

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php




[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux