gpt4 book ai didi

sql-server - SQL Server 中的 PAGEIOLATCH_SH 等待类型是什么?

转载 作者:行者123 更新时间:2023-12-01 16:59:12 27 4
gpt4 key购买 nike

我有一个查询在事务处理过程中花费了很长时间。当我获得进程的 wait_type 时,它是 PAGEIOLATCH_SH

这个等待类型是什么意思以及如何解决这个问题?

最佳答案

来自Microsoft documentation :

PAGEIOLATCH_SH

Occurs when a task is waiting on a latch for a buffer that is in an I/O request. The latch request is in Shared mode. Long waits may indicate problems with the disk subsystem.

实际上,这几乎总是由于对大表进行大量扫描而发生。在有效使用索引的查询中几乎不会发生这种情况。

如果您的查询是这样的:

Select * from <table> where <col1> = <value> order by <PrimaryKey>

,检查 (col1, col_primary_key) 上是否有复合索引。

如果您没有,那么您需要进行完整的INDEX SCAN(如果选择了PRIMARY KEY),或者进行SORT code> 如果选择 col1 上的索引。

在大型表上,这两个操作都是非常消耗磁盘 I/O 的操作。

关于sql-server - SQL Server 中的 PAGEIOLATCH_SH 等待类型是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/620626/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com