暂无图片
inner join后面7个关联条件,导致的sql性能问题,有没有人指点一下优化思路?
我来答
分享
暂无图片 匿名用户
inner join后面7个关联条件,导致的sql性能问题,有没有人指点一下优化思路?

优化.jpg

我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新
chengang

两个思路。

一个是拆分join 然后在应用端join

二个是看能否延迟关联,比如
select * from a
inner join b on a.id = b.id
left join c on b.id = c.id
where a.id = 1 and b.field =xx

可以改为 a,b表where条件都很小了。
那就改为
select * from
(
select a.xx,b.xx from a inner join b on a.id = b.id
where a.id = 1 and b.field =xx
) as t
left join c on t.id = c.id

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


请输入正文
提交
相关推荐
postgresql在执行存储过程时,为什么没有输出,执行完成后,才有输出?
回答 1
已采纳
pg中一个存储过程一般是一个事务,所以raise在一个事务中,一般是不打印,只有在事务结束后才打印输出可以分多个子存储过程,切割事务
pg12分区表在sql中explain特别慢!
回答 1
由于返回的是0条数据,所以执行计划走tt列上索引时,优化器都自动进行了分区剪枝(每行最后都有neverexecute)!
创建逻辑复制,pg_wal目录过大导致磁盘撑爆怎么解决?
回答 1
1.检查你配置的日志级别,一般replica就行。2.检查点的设置和自动回收的配置检查下,可以参考网上一些配置的最佳实践参数配置下。最好还是再清楚每个参数作用的情况下调整参数配置。
postgreSQL怎么自动更新时间戳?
回答 1
已采纳
创建表droptableifexiststs;createtablets(idbigserialprimarykey,tradeidinteger,emailvarchar(50),numintege
PG文档翻译疑问
回答 10
已采纳
pg的DDL是可以回滚的。
pg_basebackup搭建从库报错
回答 3
最后在data/global目录下删除了pginternalbak.init文件,pgbasebackup命令执行成功
PGloader工具的效率如何?
回答 1
一般,用copy就可以
postgreSQL 有时间段合并的函数吗?
回答 1
是的,PostgreSQL有时间段合并的函数。您可以使用datetrunc函数来实现这一点。例如,如果您想要将一个时间戳截断为天,您可以使用以下查询:SELECTdatetrunc('day',tim
导出一个具体表的ddl
回答 2
pgdump之前测试过好像分区表的导出有点问题手上还没有环境如果有分区表可以关注一下看看导出有没有问题
postgresql 有没有办法看出alter column一直在做什么?
回答 1
已采纳
可以试试这个sqlselectwaiteventtype,waitevent,count()frompgstatactivitywherewaiteventisnotnullgroupby1,2ord
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~