gpt4 book ai didi

mysql - 优化两个表之间重复 n-uplet 的搜索

转载 作者:行者123 更新时间:2023-11-29 16:31:17 25 4
gpt4 key购买 nike

我想计算两个表之间重复的 n-uplet(无关联)。

假设我们有两个表:

表 A:(名字、姓氏、电子邮件...)

N 个连音:

TOTO/TOTO/TOTO@test.com ...

TITI/TITI/TITI@test.com ...

表 B:(名字、姓氏、电子邮件...)

N 个连音:

TOTI/TOTI/TOTO@test.com ...

TITI/TITI/TATI@test.com ...

我的请求应该从表 A 中获取 TOTO 和 TITI。

   $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-uplet,在表 B 中有 40k 个 n-uplet。执行速度很慢:/

有什么优化的想法吗?

提前致谢:)

最佳答案

您需要一些索引。由于您有一个 OR 条件,我将创建两个索引:

create index ix1 on tableb (lastname, firstname);

create index ix2 on tableb (email);

OR 条件需要两次扫描。

关于mysql - 优化两个表之间重复 n-uplet 的搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53859619/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com