【发布时间】:2014-11-25 14:17:53
【问题描述】:
我正在对包含大量记录的几个表进行查询。在一个特定的关系中,关系是 m:n,并且生成的查询加入了适当的表。问题是生成的查询非常慢。我可以通过取出 JOIN 并将其放入一个子查询中来重写它,这可以解决问题,但我不确定如何将它添加到我创建查询的存储库中。基本上我想要的是仍然使用 createQuery() 因为它做了很多检查但只优化了它的一小部分。
当前的实现是否有可能,还是我唯一的选择是从头开始编写整个查询?
【问题讨论】:
-
也许您可以通过向表中添加一些键来加速连接查询?尝试为查询连接的列添加键。
-
我已经添加了所有需要的键。问题是如何生成查询。我已经设法用 contains() 而不是 equals() 对其进行了更改,但是当我还添加排序列时,它又回到了同样的慢速。
-
您是否尝试为排序列添加键?如果这没有帮助,我没有更多的想法,但也许其他人有。
-
是的,问题不在于索引,而在于查询在不同表中搜索数据的方式。如果我可以在约束中添加一个简单的自定义语句,它将起作用,但到目前为止我找不到如何做到这一点。
标签: typo3 extbase typo3-6.2.x