mysql fetch assoc VS mysql fetch 数组
以下是大多数 php 代码中常用的两种获取 mysql 数据的方法.
Below are two methods commonly used in most php codes for fetch mysql data .
mysql_fetch_array()
mysql_fetch_assoc()
现在,我有一个大数据库.对于在循环中获取数据 (while
) 有什么更快更好的方法?
Now, I have a big database. For fetching data in loops (while
) what's faster and better ?
我发现 这个基准.
你的选择是什么?
推荐答案
这取决于你的表是如何设置的:
It depends on how your tables are setup:
mysql_fetch_array()
本质上返回两个数组,一个带有数字索引,一个带有关联字符串索引.
mysql_fetch_array()
essentially returns two arrays one with numeric index, one with associative string index.
所以使用 mysql_fetch_array()
而不指定 MYSQL_ASSOC
或 MYSQL_NUM
,或者通过指定 MYSQL_BOTH
将返回两个数组(基本上 mysql_fetch_assoc()
和 mysql_fetch_row()
会返回什么)所以 mysql_fetch_assoc()
更快.
So using mysql_fetch_array()
without specifying MYSQL_ASSOC
or MYSQL_NUM
, or by specifying MYSQL_BOTH
will return two arrays (basically what mysql_fetch_assoc()
and mysql_fetch_row()
would return) so mysql_fetch_assoc()
is faster.
如果你的表设置正确并且查询编写正确 mysql_fetch_assoc()
是要走的路,代码可读性方面 $result['username']
更容易比$result[0]
更懂.
If you have your table setup right and query written properly mysql_fetch_assoc()
is the way to go, code readability wise $result['username']
is easier to understand than $result[0]
.
相关文章