|
1
57
暂停的: 这意味着请求当前未处于活动状态,因为它正在等待资源。资源可以是用于读取页面的I/O,WAIT可以是网络上的通信,或者它正在等待锁定或锁存。它将在等待的任务完成后变为活动状态。例如,如果查询发布了读取完整表tblStudents的数据的I/O请求,则此任务将暂停,直到I/O完成。一旦I/O完成(内存中有tblStudents表的数据),查询将进入RUNNABLE队列。 因此,如果它正在等待,请检查wait_type列以了解它正在等待什么,并根据wait_time进行故障排除。 我开发了以下过程来帮助我,它包括WAIT_TYPE。
下面的查询还可以显示spid挂起时的基本信息,显示spid正在等待的资源。
请参见下图作为示例:
|
|
|
2
15
我使用sp_whoIsActive查看这类信息,因为它是一个现成的免费工具,可以为您提供疑难解答慢速查询的良好信息: How to Use sp_WhoIsActive to Find Slow SQL Server Queries 通过这个,您可以获得查询文本、它正在使用的计划、查询正在等待的资源、阻塞它的是什么、它正在取出的是什么锁等等。 比自己动手容易得多。 |
|
|
3
0
您可以通过以下方式解决:
我对一个有40000000行的表也有同样的问题,我使用临时表来获取其中的一部分,然后我使用过滤器和inner,因为更改索引不是一个选项。 例如:
|
|
|
joaocarlosib · 用于动态查询情况的存储过程常识模式 2 年前 |
|
|
HALIM · Laravel 1查询多个不同的结果 2 年前 |
|
|
Scobbo · 从一个pandas数据帧.loc请求设置多个变量 2 年前 |
|
|
Kalane · 数据集增加时SQL查询缓慢 2 年前 |
|
|
Community wiki · 优化从同一表中提取的多列的查询 2 年前 |
|
|
user164863 · 我可以让这个mySQL查询更快吗? 8 年前 |