现象 1




分析 2
会话331对表执行UPDATE操作,阻塞其它会话对该表的写入和查询,这是正常的,也是好理解的。分析的重点是为什么执行时间这么长,而且全部都是链接服务器的等待(OLEDB)。

下载
并
打开执行计划
,
看到各表之间使用嵌套循环来关联。嵌套循环联接也称为嵌套迭代,它将一个联接输入用作外部输入表(显示为图形执行计划中的顶端输入),将另一个联接输入用作内部(底端)输入表。外部循环逐行处理外部输入表。内部循环会针对每个外部行执行,在内部输入表中搜索匹配行。因此推断链接服务器查询循环次数太多导致执行时间长
。
关于
嵌套
循环联接
和其他
的联接方式
参考
官方文档:
https://docs.microsoft.co
m/zh-
cn/sql/relational-database
s/performance/joins?view=sql-server-ver16。

在链接服务器的目标端8.56中,查看会话589在不同采集时间点的活动会话,看到该会话的请求开始时间、最后请求开始时间、最后请求结束时间三个数据是变化的,
执行的SQL语句是一样的,说明在循环执行同一查询语句。粗略计算执行了3000次左右,从而验证推断是正确的。

解决 3
总结 4
链接服务器的查询要跨越网络,响应时间是毫秒甚至是秒级的,如果交互次数太多就会导致执行时间指数级的增加。 不能把它当本地查询一样使用,使用时一定 要仔细分析执行计划 。
编辑推荐:
- 链接服务器查询导致的阻塞03-02
- 透过等待看数据库03-02
- 这5款宝藏电脑软件,建议收藏!03-02
- 低成本的增加监控摄像头真实案例实现教程03-02
- MSDN下载的iso怎么安装(iso镜像文件安装过程)03-02
- SQL SERVER--系统隐形杀手—阻塞与等待03-02
- Git使用系列03-->Git仓库创建03-02
- 【服务器数据恢复】备份文件不可用的SQL Server数据库数据恢复案例03-02
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
