我想计算两个表之间的重复n-uplets(没有关联)。
假设我们有两张table:
表a:(名字、姓氏、电子邮件…)
n-偶:
托托/托托/toto@test.com ...
提提/提提/titi@test.com ...
表b:(名字、姓氏、电子邮件…)
n-偶:
总计toto@test.com ...
提提/提提/tati@test.com ...
我的要求应该从a表中得到托托和提提。
$query = $this->createQueryBuilde('a');
$query
->innerJoin(B::class, 'b',
'with',
"(a.lastName = b.lastName AND a.firstname = b.firstName)
OR a.email = b.email"
)
;
这个请求是有效的,但是我在表a中有10k个n-uplets,在表b中有40k个。执行缓慢:/
有什么办法优化它吗?
提前感谢:)
1条答案
按热度按时间gijlo24d1#
你需要一些索引。既然你有
OR
条件i将创建两个索引:这个
OR
这种情况需要两次扫描。