允许内存耗尽+性能差


Allowed memory size exhausted + poor performance

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

fields: `id`, `partner_id` (relation to `Partners` table), `date` 

date与当前时间戳。

id为访客id。

问题是,在Requests表中有大约150万行,当我试图在某个地方公开这些数据时,它显示性能差甚至标题错误。

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

你能给一些建议如何使它更灵活吗?

我仍然需要Requests的这些数据进行商业计算,但我不知道如何避免这些庞大的数据量和糟糕的性能。

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

最好放一些逻辑语句(类似于forloop或foreach),然后发送一堆10-20个请求(但不要超过这个)。如果你遵循这个,那么它会给你正确的结果。

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

如果您需要更多详细信息,请返回