我必须决定是否对hstore列使用GIN或GiST索引。
我解释它的方式,如果你需要经常查询,请使用GIN,如果你需要更新很多,请使用GiST。
在此test中,确认了上述GIN相对于GiST的所有三个缺点。但是,除了Postgres文档中的建议外,GIN优于GiST(更快查找)的优势非常小。幻灯片53显示,在测试中,GIN仅比Postgres文档中提出的200%至300%快2%至3%。
哪种信息来源更可靠?为什么?
答案 0 :(得分:4)
文件说明情况“一般”。
但是,您没有“通常”运行PostgreSQL,而是在具有特定使用模式的特定硬件上运行它。
所以 - 如果你非常关心,那么你会想要自己测试一下。 GiST索引总是需要重新检查其条件。但是,如果您运行的查询最终还是进行了进一步检查,那么GIN索引可能无法在那里获胜。还有关于缓存使用等的所有常见问题。
对于我的使用,在具有适度更新率的小型数据库上,我对GiST感到非常满意。我已经看到GIN的速度提高了50%(在整个查询中),但是速度较慢的索引并不值得。如果我正在构建一个巨大的存档服务器,它可能会有所不同。