由Sequelize生成的针对包含JSONB列字段的where子句的查询未使用索引

时间:2018-06-26 11:50:35

标签: postgresql orm sequelize.js jsonb

我在Postgres中有一张要使用Sequelize查询的表。它有一个称为过滤器的JSONB列。过滤器列中有一个名为is_active的字段。查询过滤器时,如果我指定了诸如filters.type='simple'之类的where子句,则sequelize会生成查询

select * from table where "filters"#>>'{type}' = 'simple'

如果我在filters->'type'上有一个索引,则上面的查询不使用它。相反,如果查询中的where子句生成为

select * from table where "filters"->'type' = 'simple'

使用索引,查询执行速度更快。

有什么方法可以使Sequelize以第二种方式生成查询吗?

0 个答案:

没有答案