允许的内存大小耗尽+性能不佳

时间:2015-10-23 10:58:47

标签: php mysql

我的MySQL数据库(Yii项目)中有Requests表,其中包含对我网站主页的所有访问

fields: `id`, `partner_id` (relation to `Partners` table), `date` 
带有当前时间戳的

date

带有访问者ID的

id

问题是Requests表中有大约1.5百万行,当我尝试在某处公开这些数据时,它会显示性能不佳甚至标题错误。

例如,我有一个名为“所有请求”的合作伙伴和列列表,其中我正在查看partner_id等于此合作伙伴ID的所有请求。对于每个合作伙伴,可能会有500或1000个请求,因此,我相信,我的SQL查询非常繁重。

请您就如何使其更灵活提出一些建议?

我仍然需要来自Requests的这些数据用于商业计算,但我无法找到如何避免这些大量数据和糟糕的性能。

1 个答案:

答案 0 :(得分:0)

不要同时执行请求500或1000。如果你这样做,它会给你错误或超时错误。

最好把一些逻辑(一种forloop或foreach)声明和发送请求一堆10-20(但不超过那个)。如果你遵循这个,那么它会给你正确的结果。

其次,我不知道你的前端,但假设你使用DotNet然后在你的方法中使用“async”“await”关键字进行调用,这很容易处理这类任务。

如果您需要更多详情,请恢复。