2010-12-14 46 views
0

目前,我管他们是这样的:什么是一些更有效的方式来处理查询?

$query = mysql_query("..."); 
while ($results = mysql_fetch_array($query)) 
{ 
    ... 
} 

什么更实际的方式去吗?

+0

我通常使用fetch_object,但通常情况下您会将数据库抽象层与orm库一起使用。至少对于更大的项目。 – janoliver 2010-12-14 08:37:37

+2

ORM高效?大声笑 – 2010-12-14 09:47:17

回答

2

我给你的问题是:什么不切实际关于那?

这似乎是一次处理结果集的理想范例。如果这就是你需要的,那就是你需要的。

我唯一的建议是确保你只需要你需要的列,并且让数据库能够做到最好。换句话说,如果您想要汇总结果,那么这是数据库应该执行的操作(而不是在客户端上关闭所有记录并进行汇总)。


关于需要做的这一切在一次,有没有很像(伪代码)的东西之间的差异:

array_of_array = fetch_all() 

array_of_array = empty 
while (array = fetch_one()): 
    array_of_array.push (array); 

肯定是不够的因为语言开发人员认为它是必要的,因为可能的fetch功能发现here

如果你真的需要这个功能,你可以自己编写代码。这就是为什么大多数语言都提供了创建用户定义函数的原因,毕竟:-)

+0

那么,有一个*不想一次处理一行的情况;相反,将结果存储为数组供以后使用会很方便。就目前而言,如果我需要这种功能,我必须创建空数组,然后通过并推送每个结果;似乎应该有一个更方便的方法来解决这个问题。 – 2010-12-14 08:44:35

相关问题