我有几百万条记录的大表。每条记录都包含来自外部来源的类型。我知道类型的数量大约是100 - 200.
我需要获取搜索提示的类型子集。
我需要这样的东西:
select distinct my_type from my_table where my_type like '%XXX%';
但它很慢。对于8M记录,4-5秒。
我的问题:我可以以某种方式提高此选择的性能或使用不同的查询吗?
答案 0 :(得分:2)
distinct
和group by
采用不同的代码路径,因此您可以测试其中的每一个:
select my_type
from (select distinct my_type from my_table) as t
where my_type like '%XXX%';
select my_type
from (select my_type from my_table group by my_type) as t
where my_type like '%XXX%';