在php中进行24个数据库查询或1个数据库查询和排序会更快吗


is it quicker to do 24 database queries or 1 database query and sort in php?

我有一个网站接受用户的条目。我想创建一个图形,显示一段时间内的条目。对数据库进行24次调用让sql每小时返回条目数更有效吗?还是我应该只进行一次调用并返回所有条目数,然后在php中组织它们?

取决于数据、数据库模式和查询。

通常情况下,查询次数越少越好。

如果优化查询后仍然很慢,那么将结果缓存在PHP中?

我认为这取决于您的设置,例如数据库,数据库是否与web服务器在同一台机器上,流量。。。每个调用在数据库服务器上使用一些over-header,但在web服务器上不需要排序。我建议用循环测试它。

好的,让我们比较一下:

1) 在数据库中查询所有值。通过网络将大量数据返回到应用程序服务器。通过客户端的DBD接口解析所有这些数据。构建自己的数据结构,以您想要的方式存储数据。编写、记录和维护客户端代码,以便在详细数据中循环,并随每一行添加/更新数据结构。

2) 在数据库中查询所需格式的数据。让高度调优的数据库创建摘要存储桶。通过网络返回的数据更少。在应用服务器上分析较少的数据。使用返回的数据。

不存在"视情况而定"。使用数据库。