【发布时间】:2013-05-17 13:27:16
【问题描述】:
所以基本上问题出在查询SELECT COUNT(*) 中,它在activedataprovider 的calculateTotalItemCount 函数中执行。据我了解,$itemcount 变量需要分页。问题是这个查询对于大表来说很慢。对于我的 ~30m 表,它执行 5 秒。
所以有2种方法可以解决这个问题:
1.禁用分页('pagination'=>'false')并编写自己的分页。
2.重写AR计数功能。
我没有足够的经验/知识来完成这个。 也许有人以前遇到过同样的问题,可以分享他的解决方案。
至少对于totalItemCount,我们可以使用EXPLAIN SELECT *。它的速度更快。
感谢您的帮助。谢谢你。
【问题讨论】:
-
在你的count查询中有没有条件?
标签: mysql activerecord yii