相关疑难解决方法(0)

PostgreSQL LIKE查询性能变化

关于LIKE查询数据库中特定表的响应时间,我看到了相当大的变化.有时我会在200-400毫秒内得到结果(非常可接受),但有时候返回结果可能需要30秒.

我知道LIKE查询是非常耗费资源的,但我只是不明白为什么响应时间会有这么大的差异.我已经在该owner1字段上构建了一个btree索引,但我认为这对LIKE查询没有帮助.有人有主意吗?

示例SQL:

SELECT gid, owner1 FORM parcels
WHERE owner1 ILIKE '%someones name%' LIMIT 10
Run Code Online (Sandbox Code Playgroud)

我也尝试过:

SELECT gid, owner1 FROM parcels
WHERE lower(owner1) LIKE lower('%someones name%') LIMIT 10
Run Code Online (Sandbox Code Playgroud)

和:

SELECT gid, owner1 FROM parcels
WHERE lower(owner1) LIKE lower('someones name%') LIMIT 10
Run Code Online (Sandbox Code Playgroud)

有类似的结果.
表行数:约95,000.

postgresql indexing query-optimization pattern-matching sql-like

103
推荐指数
3
解决办法
7万
查看次数

GiST和GIN指数之间的差异

我正在实现一个具有数据类型为的列的表,tsvector我试图了解哪个索引更适合使用?

GIN还是GiST?

通过这里查看postgres文档,我似乎得到了:

  • GiST更新和构建索引的速度更快,而且比杜松子酒更准确.

  • GIN更新和构建索引的速度较慢,但​​更准确.

好的,那么为什么有人想要杜松子酒的gist索引字段呢?如果要点可能会给你错误的结果?必须有一些优势(外部表现).

当我想要使用GIN和GiST时,有人可以用外行的方式解释吗?

postgresql indexing full-text-search

42
推荐指数
1
解决办法
2万
查看次数