从我能找到的信息中,他们都解决了同样的问题 - 更多深奥的操作,如数组包含和交集(&&,@>,< @等)。但是我会对何时使用其中一种(或两者都不可能)的建议感兴趣 PostgreSQL documentation有一些关于此的信息:
但是,当内存到索引大小比率开始变小(即索引大小变得比可用内存大得多)时,我会特别感兴趣知道是否存在性能影响?我在#postgresql IRC频道上被告知GIN需要将所有索引保留在内存中,否则它将无效,因为与B-Tree不同,它不知道从磁盘读入哪个部分一个特定的查询?问题是:这是真的(因为我也被告知与此相反)? GiST是否有相同的限制?在使用其中一种索引算法时,我应该注意其他限制吗?