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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM