我必须决定是对 hstore 列使用 GIN 还是 GiST 索引。
Postgres 文档状态:
- GIN 索引查找比 GiST 快大约三倍
- GIN 索引的构建时间大约是 GiST 的三倍
- GIN 索引的更新速度比 GiST 慢十倍左右
- GIN 索引比 GiST 大两到三倍
我解释它的方式,如果您需要查询很多,请使用 GIN,如果您需要更新很多,请使用 GiST。
在本次测试中,确认了上述 GIN 优于 GiST 的所有三个缺点。然而,除了 Postgres 文档中的建议之外,GIN 相对于 GiST(查找速度更快)的优势非常小。幻灯片 53 显示,在测试中,GIN 仅快 2% 到 3%,而 Postgres 文档中建议的速度为 200% 到 300%。
哪种信息来源更可靠,为什么?