Pagination在DBIx::Class
中调用一个->count
,这个->count
是在一个也有JOIN条件的关系上。
但是查询本身并不使用JOIN条件,但是无论如何它都包含在查询中。
这使得COUNT(*)
查询变慢。
有什么方法可以指示DBIx::Class
从最终查询中忽略未使用的关系吗?
查询如下所示:
SELECT COUNT(*)
FROM products me
LEFT JOIN models model ON model.id = me.product_model_id
WHERE (me.manufacturer_id = 123)
字符串
我希望它可以简化为:
SELECT COUNT(*)
FROM products me
WHERE (me.manufacturer_id = 123)
型
1条答案
按热度按时间qnyhuwrf1#
JOIN
确实会影响查询的结果,只有LEFT JOIN
不会。据我所知,DBIC不包括这样的优化器。如果你向我们展示你的代码,我们可以建议一个更好的版本。为什么你首先要添加连接?