Postgresql 可以在数组长度上创建索引吗?

Posted

技术标签:

【中文标题】Postgresql 可以在数组长度上创建索引吗?【英文标题】:can Postgresql create an index on array length? 【发布时间】:2016-08-10 18:24:54 【问题描述】:

我正在开发一个 Rails 应用程序,该应用程序将数据存储在 Postgresql 9.4 数据库中,products 表有一个列 images 是一个 array,我想获得没有图像的产品,即array_length(images) = 0。是否可以在这种情况下创建索引?即关于数组的长度。

【问题讨论】:

images的类型是什么?它是 BLOB 吗? 它的类型为array,它是一个Postgresql 非标准类型,它只包含图片的url。不是图像本身。 【参考方案1】:

当然,你可以创建一个表达式索引:

CREATE INDEX ON products ((array_length(images));

【讨论】:

如果它有效,你应该接受这个答案@NafaaBoutefer

以上是关于Postgresql 可以在数组长度上创建索引吗?的主要内容,如果未能解决你的问题,请参考以下文章

PostgreSQL 多列索引,包括数组

JS 数组中元素的长度最大是多少?能设置吗?

在 PostgreSQL 上使用 SQLAlchemy 创建全文搜索索引

为啥我的 PostgreSQL 数组索引没有被使用(Rails 4)?

是否可以在 PostgreSQL 中索引数组列的位置?

PostgreSQL 在 JSONB[] 上创建索引