2
全部! 我有一个包含具有以下结构的约24百万记录的PostgreSQL 9.3中创建一个表:PostgreSQL。全文搜索性能
CREATE TABLE jtest
(
recordid uuid NOT NULL,
details json,
tsv tsvector,
CONSTRAINT jtest_pkey PRIMARY KEY (recordid)
)
WITH (
OIDS=FALSE
);
列TSV填补扳机上的JSON内容的理由: to_tsvector(“英语”,json_extract_path_text(详细信息, “信息”)。在JSON结构
现场信息有类似的内容。例如,“牛奶从生产厂家”,“从另外两个牛奶”。大约有100万条记录,其中包含“牛奶”。
如果我使用以下查询:
从jtest中选择recordid,其中tsv @@ to_tsquery('english','milk');
并且不使用tsv列上的任何索引,该查询大约需要250秒。如果我在tsv字段上创建杜松子酒索引,那么该查询大约需要200秒。
有没有可能提高性能?
为什么有人寻找牛奶,如果它在每一个记录? –