64.5. GIN 提示和技巧

从 PostgreSQL 8.4 开始,此建议已不再需要,因为使用了延迟索引(有关详细信息,请参见Section 64.4.1)。但是对于非常大的更新,仍然最好删除并重新创建索引。

可以通过更改存储参数来为单个 GIN 索引覆盖gin_pending_list_limit,这使每个 GIN 索引都有自己的清除阈值。例如,可以仅为可以大量更新的 GIN 索引增加阈值,否则可以降低阈值。

为了促进此类查询的受控执行,GIN 对于返回的行数具有可配置的软上限:gin_fuzzy_search_limit配置参数。默认情况下,它设置为 0(表示无限制)。如果设置了非零限制,则返回的集是整个结果集的子集,是随机选择的。

“软”表示返回结果的实际数量可能与指定的限制有所不同,具体取决于查询和系统随机数生成器的质量。

根据经验,成千上万的值(例如 5000 至 20000)效果很好。

上一章 首页 下一章