oracle 在大表中查找LIKE中的文本

nfzehxib  于 2023-10-16  发布在  Oracle
关注(0)|答案(1)|浏览(106)

我有两个表,第一个包含一个电子邮件列表及其主题(~ 600 k行)[其索引是id_mail],第二个是一个id列表(~ 135 k行)[id被称为numero_protocollo]。
如果numero_protocollo是主题的一部分,我需要将这两个对象配对,因为我知道它们是连接的,所以我的想法是尝试用like将它们连接起来。
我最初的代码是:

select bm.id_mail, cm.numero_protocollo
from bigbox_mail bm
inner join costituzione_mora cm on bm.subject like '%'||cm.numero_protocollo||'%'

但它冻结(显然,尝试的组合数量是疯狂的)。
所以我试着用PHP编写了一段代码,它接受一个numero_protocollo,浏览每一封电子邮件,并将它们绑定起来,从计算上讲,这仍然太多了。我甚至试着把它分成100封电子邮件,但仍然太多了。
有什么诀窍吗?

g0czyy6m

g0czyy6m1#

如果这是一组静态数据,您可以添加一个新列来将numero_protocollo存储到电子邮件表中,然后编写一个PHP脚本来遍历每封电子邮件,并将numero_protocollo从电子邮件主题中提取出来(使用正则表达式)并将其存储到新列中。

相关问题