我有一个包含几百万条记录的大表。每条记录都包含来自外部源的类型。我知道类型的数量大约是 100 - 200。
我需要获取类型的子集以用于搜索提示。
我需要这样的东西:
select distinct my_type from my_table where my_type like '%XXX%';
但是速度很慢。 8M 条记录需要 4-5 秒。
我的问题:我能否以某种方式提高此选择的性能或使用不同的查询?
最佳答案
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%';
关于sql - PostgreSQL select distinct with like 条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42496808/