簡體   English   中英

GIN或GIST可以用於“至少包含”比較嗎?

[英]Can GIN or GIST be used for an “containing at least” comparison?

我使用擴展intarray進行與9.2.9版本的int比較。

雖然&&可以使用索引來過濾包含至少一個值的數組,但有沒有辦法使用GIN或GIST索引來過濾至少有n個值相交的數組?

例如,GIN或GIST如何使用2 <= icount(ARRAY[1,2,3] & int_array_column)2 <= ARRAY_UPPER((ARRAY[1,2,3] & int_array_column),1)

Teodor Sigaev的smlar擴展有我正在尋找的東西。 %運算符對n個相交值進行索引。

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)); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM