Postgresql中创建函数索引

1、创建函数索引的语法,如下表示为表的指定字段的upper函数创建了一个函数索引
CREATE INDEX 索引名 ON 表名 (upper(字段名));

2、使用场景:
如果某张表的数据量很大,而其中某个字段在当前数据库中保存大小写共存,当需要查询的时候忽略大小写,那么此时一般使用到的方法就是使用sql中的upper()函数,但是使用upper()函数后,查询语句是不会走索引的,所以建议为该字段创建一个函数索引,从而提高查询效率。

3、实测如下:
存在一张数据量大约为350w的表。
①未创建函数索引,使用如下语句查询

查询时间为:9s

②创建upper函数的函数索引后:4.5s

4、总结:
如果场景必须存在忽略大小写这种方式,才创建函数索引来处理,一般情况下,建议不要在查询语句的条件中加入函数,因为会导致索引失效。


原文链接:https://blog.csdn.net/qq_28893679/java/article/details/80509699

原文地址:https://www.cnblogs.com/xr210/p/13297677.html