我使用扩展intarray与版本9.2.9进行int比较。
虽然&&可以使用索引来筛选包含至少一个值的数组,但是是否有一种方法可以使用GIN或GIST索引来筛选至少n个值相交的数组?
例如,GIST或GIST如何使用2 <= icount(ARRAY[1,2,3] & int_array_column)或2 <= ARRAY_UPPER((ARRAY[1,2,3] & int_array_column),1)
发布于 2014-12-02 23:38:11
特奥多·西加耶夫的司马扩展有我想要的。%运算符对n个相交值进行索引。
发布于 2014-11-26 23:47:58
btree将能够对表达式进行索引,然后对需要的值数量进行筛选:
CREATE INDEX my_awesome_ids
ON my_fat_table (icount(ARRAY[1,2,3] & int_array_column));
SELECT *
FROM my_fat_table
WHERE 2 <= (icount(ARRAY[1,2,3] & int_array_column)); https://stackoverflow.com/questions/27142544
复制相似问题