2

我有一个如下所示的 SQL 查询:

SELECT *
FROM table
WHERE ARRAY['entry1', 'entry2'] && array_column

array_column可以有数千个条目,而输入通常只有几个。array_column 是类型character varying[]

我有一个相当新的 PostgreSQL (9.2) 版本。什么是正确的索引?

4

1 回答 1

2

您应该为此使用GIN索引。另请参阅手册的这一部分:http ://www.postgresql.org/docs/current/static/indexes-types.html

请注意,它仅在使用数组运算符时才有效(您正在使用的&&是其中之一)。

您可以在此处找到有关 Gin 索引的更多信息:http ://www.postgresql.org/docs/9.3/static/gin.html

于 2013-09-30T10:22:55.600 回答