当前位置:   article > 正文

PostgreSQL 函数式索引使用注意 - 暨非immutable函数不适合索引的原因

pg自定义函数可以在索引中使用?

标签

PostgreSQL , 表达式 , 函数稳定性 , immutable


背景

PostgreSQL支持表达式索引,但是表达式必须是immutable的,也即是当输入参数不变时,结果是永恒不变的。

因为当表达式涉及的变量不变时,索引本身不会变化。

给个例子,如果我们有一张表存储了商品价格,另一张表存储了商品折扣 ,如果我们想通过折扣后的价格范围搜索符合价格区间的商品ID,可以使用索引吗?

表达式索引,可以。但是前提是:输入一个商品ID时,商品原价永恒不变。

否则原价发生变化就可能出现索引内容与实际不一致的问题。

例子


声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/641891
推荐阅读
相关标签
  

闽ICP备14008679号