gpt4 book ai didi

mysql - 如何从表 A 中检索其 VARCHAR 列与另一个 VARCHAR 列部分匹配的行。在表B?

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

MySQL:5.6

我有 2 个表 - 一个有一个包含电子邮件地址的 VARCHAR 列,另一个有一个包含域名的 VARCHAR 列。

示例电子邮件地址:john@yahoo.co.uk示例域名:yahoo.co.uk

我需要检索属于域表中域的电子邮件地址列表。

我怎样才能最有效地完成这项工作?

提前感谢您的任何回复。

最佳答案

您可以对此使用LIKE。 (用于字符串匹配)

但使用 LIKE 的问题在于它不使用列上提供的任何索引。这可能在记录较小的数据库上表现更好,但在已经包含数千条记录的大数据库上,它的性能会很差。这样做的原因是因为它将对表中的每条记录运行 FULL TABLE SCAN,这非常慢。

SELECT  a.DomainName, b.EmailAdd
FROM DomainList a
INNER JOIN EmailList b
ON b.EmailAdd LIKE CONCAT('%', a.DomainName)

要进一步了解有关联接的更多信息,请访问以下链接:

关于mysql - 如何从表 A 中检索其 VARCHAR 列与另一个 VARCHAR 列部分匹配的行。在表B?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15725726/

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