我试图通过查看 Advantage Management Utility 中的“活动查询”选项卡来跟踪性能问题。
此选项卡的文档说:
活动:如果服务器正在主动处理查询,则为真。查询必须处于活动状态才能取消。
查询在完成之前是否处于活动状态?或者它会因为其他原因变得不活动,比如等待资源(磁盘 IO 或锁)?
我问是因为在给定时间我只有 1-2 个处于“活动”状态的查询,但我也有 20 多个工作线程在运行。这对我来说没什么意义。
我试图通过查看 Advantage Management Utility 中的“活动查询”选项卡来跟踪性能问题。
此选项卡的文档说:
活动:如果服务器正在主动处理查询,则为真。查询必须处于活动状态才能取消。
查询在完成之前是否处于活动状态?或者它会因为其他原因变得不活动,比如等待资源(磁盘 IO 或锁)?
我问是因为在给定时间我只有 1-2 个处于“活动”状态的查询,但我也有 20 多个工作线程在运行。这对我来说没什么意义。
活动意味着服务器正在积极寻找行来填充游标用于请求。它将保持活动状态,直到有足够的行来满足请求。如果查询需要等待锁或磁盘 I\O,它将保持活动状态。对此的一个警告是实时游标。客户端将实时游标视为表而不是 SQL 语句。SQL 语句是否已打开,但不是活动的活动游标?
您可以尝试调用存储过程sp_mgGetWorkerThreadActivity来查看其他线程正在执行的命令。