检索记录:数组VS DB

时间:2011-07-09 14:00:53

标签: php mysql arrays

关注我的页面加载速度,我知道有很多因素会影响页面加载时间。

检索数组而不是DB中的记录(类别)是否更快?

由于

4 个答案:

答案 0 :(得分:1)

将这一切保存在PHP中会更快,直到你有大量的记录并且你耗尽了RAM。

但是,这两件事都超级快。在具有索引的单个表上选择少数记录应该花费不到一毫秒。您确定知道网页来源缓慢吗?

我会对您的代码中包含数据持谨慎态度。它会使您的系统不易维护。用户将如何更改类别?

回过头来判断你的网站是否是静态的还是动态的。

答案 1 :(得分:1)

当然,从数组中检索数据要比从数据库中检索数据快得多,但通常数组和数据库具有完全不同的用例,因为数组中的数据是静态的(您在代码中或在单独的数据中键入值文件,你无法修改它们,而数据库中的数据是动态的

答案 2 :(得分:1)

是的,直接在PHP脚本中添加类别数组可能会更快,特别是如果您需要在每个页面加载时都需要所有类别。这使得APC可以缓存阵列(如果您运行APC),并且还可以减少进出数据库的流量。

这是你的瓶颈所在吗?在我看来,类别应该已缓存在查询缓存中,因此可以轻松检索。如果这不是您最大的瓶颈,那么您很可能看不到加载时间的任何减少。确保对您的应用程序进行概要分析以找到大型瓶颈,否则您将浪费时间仅获得较小的性能提升。

答案 3 :(得分:0)

如果在数据库中存储类别,则必须连接到数据库,准备SQL语句,将其发送到服务器,获取结果集,并(可能)将结果存储在数组中。 (但是你可能已经有了与数据库的连接,并且硬件和软件被设计用于快速完成这种工作。)

  • 存储和检索类别 从数据库的交易速度来看 保养。您的数据始终是正常的 至今;可能需要一点时间 更长的时间来获得它。

您还可以在数组赋值中将类别存储为常量或文字。从存储在数据库中的数据生成常量或数组文字会很聪明,但您可能不必为每个页面加载都这样做。如果“类别”没有太大变化,您可能每天生成一到两次代码,以及每当有人添加类别时。这取决于你的申请。

  • 存储和检索类别 从一个数组交易维护 速度。您的数据加载了一点 快点;它可能不完整。

令人不满意的答案是,在测试之前,您无法分辨出不同的存储和页面生成策略如何影响页面加载速度。甚至测试也不是那么容易,因为改变服务器和数据库参数的效果可能是令人惊讶的。

(你也可以使用php从数据库生成静态页面。我建议你测试一些静态页面,让你了解“最佳情况”的表现。)