首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

sp_who 结果分析

2012-09-05 
sp_who 结果分析求助哪些大侠能帮我分析下我用sp_who抓出的进程为53的结果吗?非常感谢!1, 我BaiDU了下ecid

sp_who 结果分析求助
哪些大侠能帮我分析下我用sp_who抓出的进程为53的结果吗?非常感谢!

1, 我BaiDU了下ecid,表示的意思是线程,0代表主线程. sql server里什么时候会用到线程?为什么会有两个为0的主线程?
其中一个还是执行在master数据库上的.

2, 为什么53(ecid:2,3,4)的blk为53? 代表什么意思?正常吗?


spidecidstatus loginamehostnameblkdbnamecmdrequest_id
530suspended saTERRY-PC 0 masterSELECT 2
530suspended saTERRY-PC 0 uxx_databaseSELECT 3
531runnable TERRY-PC 0 uxx_databaseSELECT 3
532suspended TERRY-PC 53 uxx_databaseSELECT 3
533suspended TERRY-PC 53 uxx_databaseSELECT 3
534suspendedTERRY-PC 53 uxx_databaseSELECT 3


[解决办法]
如果是并行处理,则会为特定的会话 ID 创建子线程。主线程则以 spid = <xxx> 和 ecid =0 表示。其他子线程具有相同的 spid = <xxx>,但 ecid > 0。 

[解决办法]

探讨

引用:
如果是并行处理,则会为特定的会话 ID 创建子线程。主线程则以 spid = <xxx> 和 ecid =0 表示。其他子线程具有相同的 spid = <xxx>,但 ecid > 0。

什么样才会引起并行处理呢? ecid =0的我出现了两条记录, 其中一个还是执行在master数据库上的.

[解决办法]
这个并行处理的结果,多个cpu协调处理,其中有cpu还未处理完。
先看看能不能优化sql,如果不能优化,可能考虑降低并行度。

热点排行