微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – performance:在类vars VS结果数组中存储一个大的mysql结果

嘿伙计们,

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

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

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

或者这是无关紧要的?

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

一个一次性函数,可以更快地存储类变量中的值,然后搜索整个数组中的每个’get’方法吗?

提前致谢 :)

附:
PHP 5

解决方法:

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

在应用程序性能方面,您正在谈论的代码 – 在内存中循环遍历50次并在内存中操作数据,检索类数据或从关联数组中检索数据 – 非常快.如此之快,以至于在正常情况下测量差异几乎是不可能的.为了注意employee :: $id,employee :: $name vs employee :: $result [‘id’],employee :: $result [‘name’]之间的任何区别,你必须处理极端情况 – 例如,数百万列的$result数组.见this基准.

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐