Vertica ILIKE大型数据集

时间:2019-07-09 14:36:58

标签: sql vertica

我正在寻找一个大数据表来查找另一个表中保存的短语列表,但是我正在寻找使用ILIKE从表b中的短语正则表达式中搜索表a中的文本。表b包含8,000多个短语,因此使用简单的OR ILIKE'%'太复杂了。关于如何将ILIKE与SELECT * FROM table2一起使用的任何想法?

2 个答案:

答案 0 :(得分:0)

您可以将逻辑表示为:

select t1.*
from table1 t1
where exists (select 1
              from table2 t2
              where t1.col ilike t2.phrase
             );

我想这会很慢。

答案 1 :(得分:0)

或者您可以:

SELECT
  t1.*
FROM table1 AS t1
JOIN table2 AS t2
  ON t1.searcharg ILIKE t2.phrase
;

可能比Gordon的建议要快一些,但我敢肯定不会那么大... ...--]]