【发布时间】:2021-08-06 06:56:50
【问题描述】:
我有一个文件路径表,其中包含其内容的哈希值,可能有多个文件具有相同的哈希值。
create table files(
path varchar(256) not null,
hash varchar(100) not null
);
create index files_hash on files (hash);
鉴于我有 3 个哈希数组 'a', 'b', 'c',我如何有效地找到 files 表包含哪些哈希?
我可以使用select distinct hash 来获取files 中存在的哈希:
select distinct hash
from files
where hash in ('a', 'b', 'c')
但它会有效吗?就像说有数十万个带有哈希 'a' 的文件,PostgreSQL 会遍历所有这些记录吗?有没有办法告诉它一找到第一个就立即停止?
【问题讨论】:
标签: sql postgresql