暂无图片
性能优化
我来答
分享
有问题吗?
2023-06-25
性能优化

在PG中,如下条件除了在es.docc上建表达式索引,还有其它办法进行加速查询吗?

substr(es.docc,0,length(es.docc)-2)= a.cno

数据案例:
docc : 134515681000

cno: 1345156810

es 表大概1000w数据

a 表大概600w数据


我来答
添加附件
收藏
分享
问题补充
2条回答
默认
最新
广州_老虎刘

你的完整sql是什么?如果符合条件, 可以考虑再增加一个条件 es.docc like a.cno||'%' 

暂无图片 评论
暂无图片 有用 0
打赏 0
P
pgdba

可以将条件表达式改成模式匹配运算符 LIKE: es.docc LIKE a.cno || '__'

直接在 es.docc 字段上面创建索引即可,普通索引比表达式索引更通用。

优化器也会将B-tree索引用于涉及到模式匹配操作符LIKE~ 的查询,前提是如果模式是一个常量且被固定在字符串的开头—例如:col LIKE 'foo%'或者col ~ '^foo', 但在col LIKE '%bar'上则不会。

暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
postgresql 生产上使用,推荐哪一个版本?
回答 3
新上13/14都可以,我们主推13
postgresql 分页时怎么指定一个字段内容排在第一位?
回答 1
select语句里,把想要排第一位的字段作为第一个被查询的字段
postgresql index问题,有什么好方法debug和调整?
回答 1
把函数定义发出来看看
pg,初始化后的实例中,默认自带的postgres库,是否可以删除?
回答 2
默认自带的postgres库,还是保留一下。也许会在一些场景中单独用到
PG里面能创建成功并正常运行的函数 在opengauss里面创建报错 ERROR: It is forbidden to use placeholder and dollar quoting together.
回答 2
如下修改,给中括号的两个参数添加空格,怀疑是两个参数没识别出来当成一个占位符导致语法报错:tokens[indexnum:length]CREATEORREPLACEFUNCTIONsubstring
postgreSQL 主从(流复制),主库挂了,可以把java项目跟数据库的连接改为从库,用select查询的功能,等几天主库恢复了在把连接改为主库吗?
回答 2
问题描述换为这样是不是会比较合理一些,pg主备模式下jdbc连接高可用配置方式是什么,此问题解答可参考以下连接,来自官网:https://jdbc.postgresql.org/documentati
postpresql中的pl\pgsql 最好的教程只有官方的最好吗?
回答 2
官方的覆盖面相对比较完善,但是永远不会有“最好”。有些单篇文章细致的说明某一个点,可能比官方的说得更好;但同理,某些文章虽然比较细致,可由于场景不够,得出了偏颇的结论,这个就还不如看官方的。所以建议优
Postgresql数据库,版本10,是否可以使用vacuum tablename 来进行清理过程解冻?
回答 1
已采纳
vacuum可以使用freeze选项来做。
如何知道 postgreSQL 数据库是做过reindex的?还需要查找其结果和时间?
回答 1
看一下索引文件的创建时间,与表创建时间对比,如果索引文件创建时间大于表创建时间,就可以确定有reindex
pg_stat_monitor,开启了记录执行计划的功能后,执行计划记录到什么地方去了?
回答 1
在PostgreSQL中,当修改 pgsmenablequeryplan 参数值为 yes 后,通过 pgstatmonitor 开启记录执
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~