千家信息网

sqlserver not in语句为什么使程充崩溃

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,今天就跟大家聊聊有关sqlserver not in语句为什么使程充崩溃,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。两张表 组织架构表(Or
千家信息网最后更新 2026年11月02日sqlserver not in语句为什么使程充崩溃

今天就跟大家聊聊有关sqlserver not in语句为什么使程充崩溃,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

两张表 组织架构表(Organise) 和 工资发放历史记录表 (WagePerMonthHis) 两张表通过 Organise.Item_id 和 WagePerMonthHis.OrgIdS 进行关联 Organise表(以下简称O表)中大约有6000条记录11个字段 ,WagePerMonthHis(以下简称W表)计有 125万条记录 和 25个字段 原程序中一段如下的语句 是查询所有不在W表的组织架构层级为2的记录复制代码 代码如下: select OrgId as 公司编码,OrgName as 公司名称 from Organise where OrgLev=2 and item_id not in (select OrgidS from WagesPerMonthHis where WagesYear='2010' and WagesMonth= '01' Group by OrgidS,OrgNameS) order by Orgid

语句执行要33秒之久,服务器的配置是比较高的:16核心4CPU,24G内存,且内存和CPU在执行时都没有出现瓶颈,开始以为是 (select OrgidS from WagesPerMonthHis where WagesYear='2010' and WagesMonth= '01' Group by OrgidS,OrgNameS) 这条语句执行缓慢所致,单独执行这条却发现执行速度很快,大约不到2秒就出来了,于是症结出来了,是not in 这个全扫描关键词带来的性能下降.最直接的是导致页面失去响应,一个关键功能使用不了. 试了not exist语句,发现效果是一样的,并不象网上所说可以提高很多性能. 于是重新优化语句如下复制代码 代码如下: select a.OrgId as 公司编码,a.OrgName as 公司名称,a.item_id from Organise a left outer join (select distinct b.OrgIdS from WagesPerMonthHis b where WagesYear='2010' and WagesMonth='01') as b on a.item_id = b.OrgidS where a.OrgLev = 2 and b.OrgIdS is Null order by 公司编码

改用左外连接(其实左连接也可以)后,整个语句执行速度为400ms, 33秒与400ms 我想是很多人没想到的.

看完上述内容,你们对sqlserver not in语句为什么使程充崩溃有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。

语句 公司 代码 内容 编码 以下简称 关键 内存 名称 字段 性能 架构 组织架构 速度 缓慢 没想到 万条 关键词 功能 历史 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 中关村互联网科技集团 互联网科技战争 科技制造互联网公司 万易互联网科技有限公司 互联网科技排名 广州紫鲸互联网科技 互联网金融科技委员会 美国互联网前沿科技 哈尔滨新华互联网科技 互联网科技公司招聘 玖二柒互联网科技公司待遇 互联网科技中介 贵州叶脉互联网科技有限公司所属行业 保险科技服务互联网营销体系 皮皮虾互联网科技有限公司 上海互联网科技公司ppt 湖北辰鑫科技互联网 保山互联网科技靠谱吗 盐城市攀科互联网科技有限公司 科技互联网专业工作会议发言稿 互联网科技小贷 互联网金融科技委员会 恒生互联网科技指数跳水 速维有品互联网信息科技(苏州)有限公司 西安小鹰速贷互联网科技有限公司 互联网行业科技股 群盈汇互联网科技有限公司 区块链结合互联网科技 互联网科技资金流入 互联网科技企业商标注意事项
0