文章目录环境文档用途详细信息环境系统平台银河麒麟 鲲鹏版本4.5.10文档用途介绍使用pg_trgm解决like前后都有%模糊查询慢的一种方法。详细信息现象like前后都有%数据模糊查询慢。解决安全版4.5.10提供了pg_trgm其他版本需确认是否自带。安装pg_trgm EXTENSION创建gin索引。createEXTENSION pg_trgm;createindexindex_nameontablenameusinggin(columnname gin_trgm_ops);--创建gin索引后执行原sql可以解决查询慢问题。原like sql不需要改动。验证效率70万条随机汉字文本对比效率使用pg_trgm耗时2.619 ms不使用pg_trgm耗时247.961 ms同时结果集越多耗时越长。注意使用pg_trgm需注意编码和排序规则编码和排序规则决定了pg_trgm对中、英文的支持程度此处编码和排序规则如下Name | Owner | Encoding | Collate | Ctype ------------------------------------------------------- highgo | sysdba | UTF8 | en_US.UTF-8 | en_US.UTF-8 template0 | sysdba | UTF8 | en_US.UTF-8 | en_US.UTF-8 template1 | sysdba | UTF8 | en_US.UTF-8 | en_US.UTF-8
使用pg_trgm解决like查询慢问题
文章目录环境文档用途详细信息环境系统平台银河麒麟 鲲鹏版本4.5.10文档用途介绍使用pg_trgm解决like前后都有%模糊查询慢的一种方法。详细信息现象like前后都有%数据模糊查询慢。解决安全版4.5.10提供了pg_trgm其他版本需确认是否自带。安装pg_trgm EXTENSION创建gin索引。createEXTENSION pg_trgm;createindexindex_nameontablenameusinggin(columnname gin_trgm_ops);--创建gin索引后执行原sql可以解决查询慢问题。原like sql不需要改动。验证效率70万条随机汉字文本对比效率使用pg_trgm耗时2.619 ms不使用pg_trgm耗时247.961 ms同时结果集越多耗时越长。注意使用pg_trgm需注意编码和排序规则编码和排序规则决定了pg_trgm对中、英文的支持程度此处编码和排序规则如下Name | Owner | Encoding | Collate | Ctype ------------------------------------------------------- highgo | sysdba | UTF8 | en_US.UTF-8 | en_US.UTF-8 template0 | sysdba | UTF8 | en_US.UTF-8 | en_US.UTF-8 template1 | sysdba | UTF8 | en_US.UTF-8 | en_US.UTF-8