SQL Server中怎么用sql语句join all优化or查询
Admin 2022-05-31 群英技术资讯 1150 次浏览
这篇文章给大家分享的是“SQL Server中怎么用sql语句join all优化or查询”,对大家学习和理解有一定的参考价值和帮助,有这方面学习需要的朋友,接下来就跟随小编一起学习一下吧。
比如:,master,test, 表示 该用户为 test 的下级代码,test登录后可以看到 test名下的业务和所有下级代理的业务。相关表的结构如下:
user表 大约10万条记录 |-uid-|-user-|----site------| | 1 | test | ,master, | | 2 | user | ,master,test,| product表 大约30万条记录 |-pid-|-product-|-puser-| | 1 | order01 | test | | 2 | order02 | user | | 3 | order03 | user |
优化前的SQL语句如下:
select * from product as p left join user as u on p.puser=u.user where user='test' or site like '%,test,%'
不使用 or 单独查询时,都不超过100毫秒,排除索引的问题。既然单个没问题,两种结果不存在重复记录,可以考虑 join all 优化。
优化后的语句如下:
select * from product where pid in (
select pid from product where user='test' join all (
select pid from product as p left join user as u on p.puser=u.user where site like '%,test,%'
)
)
用户A名下共有4000+个业务,优化前 优化前11359毫秒,优化后621毫秒
用户B名下共有12个业务,优化前 优化前10359毫秒,优化后78毫秒
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章介绍了SQL Server中的游标,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
这篇文章介绍了sql server排查死锁优化性能的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
SQL视图就是可视化的表,在数据库开发过程中是非常重要的,能够很大的提高查询速度,这篇文章就主要解决如何来创建,更新和删除视图。
这篇文章给大家分享几个SQL server中对表的操作方法,也就是锁表、解锁表以及查看锁表的操作,具体怎样实现呢?接下来我们一起来看一下实现的代码,有需要的朋友可以参考。
这篇文章主要为大家介绍了SQL Server T-SQL高级查询,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008