从我可以找到什么信息,他们都解决了相同的问题 – 更深奥的操作,如数组包含和交集(&&& @,< @等)。然而,我会感兴趣的建议,什么时候使用一个或另一个(或不可能)。
PostgreSQL documentation有一些关于这方面的信息:
原文链接:https://www.f2er.com/postgresql/193499.htmlPostgreSQL documentation有一些关于这方面的信息:
> GIN索引查找比GiST快三倍
> GIN索引的建立时间比GiST要长三倍
> GIN索引的更新速度比GiST要快十倍
> GIN索引比GiST大两到三倍
然而,我会特别感兴趣的是,当内存到索引大小开始变小(即索引大小变得比可用内存大得多)时是否有性能影响?我被告知在#postgresql IRC通道,GIN需要保持所有的索引在内存中,否则它将不会有效,因为不同于B-Tree,它不知道从磁盘读入哪个部分一个特定的查询?问题是:这是真的(因为我也被告知与此相反)? GiST有同样的限制吗?使用这些索引算法时,我应该注意的其他限制吗?