分页在也具有 JOIN 条件的关系上调用
->count
中的 DBIx::Class
。
但是查询本身并没有使用 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)
A
JOIN
确实会影响查询的结果,只有 LEFT JOIN
不会。
据我所知,DBIC 不包含这样的优化器。
如果您向我们展示您的代码,我们可以建议更好的版本。
为什么首先要添加联接?