4

嘿,伙计们,

我想知道什么更快。建议我们有一个包含大约 50 列的大型数据库表和一个处理这些列的类。

类构造函数加载所有字段 - 这里开始我的问题。

将每一列存储在自己的类变量中是否有用,或者这是否表现不佳?在这种情况下,我已经有一个数组,例如 $result 哪些键是表列。

或者这无关紧要?

我试图编写一个基准,但我只有一个 vServer 来测试,所以结果不是很清楚。

将值存储在类变量中的一次性函数是否比在整个数组中搜索每个“get”方法的速度更快?

提前致谢 :)

PS PHP 5

4

1 回答 1

3

我认为你的问题的答案是“这并不重要”。

就应用程序性能而言,您正在谈论的代码——在内存中循环 50 次并操作内存中的数据、检索类数据或从关联数组中检索数据——速度非常快。如此之快,以至于在正常情况下几乎不可能测量差异。为了注意到employee::$id, employee::$namevs之间的任何区别,employee::$result['id'], employee::$result['name']您必须处理极端情况——例如,一个包含数百万列的 $result 数组。请参阅基准。

另一方面,从设计的角度来看,有一些取舍——通过将结果映射到类变量,可以隐藏业务逻辑,并创建一致的接口。例如,如果您的员工类需要根据数据库字段monthly_salary 计算年薪,您可以创建另一个名为“annual_salary”的类变量,并且客户端代码始终保持一致——它是employee::annual_salaryand employee::monthly_salary,而不是employee::result['monthly_salary']and employee::annual_salary

于 2013-05-02T12:32:15.490 回答