需要想出一种方法来有效地执行查询,其中包含WHERE
子句中的数组和整数列,按时间戳列排序。使用 PostgreSQL 9.2。
我们需要执行的查询是:
SELECT id
from table
where integer = <int_value>
and <text_value> = any (array_col)
order by timestamp
limit 1;
int_value
是一个整数值,text_value
是一个 1 - 3 个字母的文本值。
表结构是这样的:
专栏 | 类型 | 修饰符 ---------------+------------------+---- -------------------- 编号 | 正文 | 不为空 时间戳 | 没有时区的时间戳| array_col | 文本[] | 整数 | 整数 |
我应该如何设计索引/修改查询以使其尽可能高效?
非常感谢!让我知道是否需要更多信息,我会尽快更新。