首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在sql SERVER tempdb中获取PAGELATCH_SH

如何在sql SERVER tempdb中获取PAGELATCH_SH
EN

Database Administration用户
提问于 2023-03-06 07:03:01
回答 1查看 150关注 0票数 0

我正在学习SQL server中的内存优化。在我学习PAGELATCH、等待.But的过程中,我不知道它是如何发生的,我也不知道如何优化测试它。

有人能给我一个示例数据,这将导致分页,使我能够理解它,并测试它与和不使用tempdb内存优化。

EN

回答 1

Database Administration用户

发布于 2023-03-06 17:04:18

共享(_SH)锁存并不会真正成为tempdb中争用的原因。您可能会看到围绕_EX或_UP锁存的争用。

要查看_UP锁存,可以使用像SQL查询压力这样的工具来生成许多会话,这样做如下:

代码语言:javascript
复制
SELECT
    m.*
INTO #m
FROM sys.messages AS m
WHERE m.language_id = 1033;

要查看_EX锁存,只需在多个会话中创建一个临时表:

代码语言:javascript
复制
CREATE TABLE 
    #t
(
    a bigint NOT NULL 
        PRIMARY KEY CLUSTERED,
    b integer NULL,
    c varchar(20) NULL,
        INDEX n (b) 
        WHERE b IS NOT NULL
);

这取决于您需要计算出要生成多少个会话来查看争用,并且在很大程度上取决于CPU的数量和所创建的tempdb文件的数量。

票数 2
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/324406

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档