首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Server 2008,cpu 100%直到重新创建索引

Server 2008,cpu 100%直到重新创建索引
EN

Database Administration用户
提问于 2012-03-15 17:18:17
回答 2查看 3.3K关注 0票数 2

我有一个4000000行表( Server 2008)。此表有一个由两个int列组成的私钥。一个对应于同一数据库的另一个表中的PK。他们之间有一种联系。另一个到另一个数据库中的一个表的PK。(我不知道这是否重要)

有时,查询的数量与通常情况相同,但CPU的使用率增加到90%-100%。而且这个表上的某些存储过程太长了。此时,只需选择在此表上运行的查询即可。

如果我等待,CPU的使用将在1或2个小时后恢复正常。但我也可以删除并重新创建PK索引。CPU的使用立即恢复正常。所以我认为这个问题与这个指数有关。我错了吗?

但该指数并不是零碎的。我每天晚上都要按维修计划重建。在每次大的插入或删除操作之后,我甚至尝试重新组织它。我还试图更新它的统计数据。我也试图什么也不做。

我每天都随机地得到这个问题,但在不同的时间,没有办法重现它。所以我不知道如何比较执行计划。

谢谢,

洛奇

编辑:此表由SSIS包填充。它插入缺失的行并删除不推荐的行(不更新)。插入是通过在每批限制为500行的oledb目的地内快速加载完成的。它可以进行批量插入。我尝试在这个包的末尾添加一些内容,包括重新组织索引和更新统计信息。

此问题在此SSIS包的执行过程中不发生。例如,它可能在结束后15分钟。它可以发生,即使有几行操作的包(例如50行)。

EN

回答 2

Database Administration用户

发布于 2012-03-16 06:08:55

我的直觉猜测是,在重新创建PK之后CPU使用率下降是巧合,特别是因为您认为索引不是零碎的。我猜这个指数本身没有什么问题。更有可能的是,缺少满足针对该表执行的特定查询/proc的索引。

您需要做的是监视服务器。这是2008年,所以你有很多可用的工具,你可以用几种不同的方式来做。

听起来这种情况在一天中经常发生,因此观察Profiler跟踪并在CPU上排序是识别特定时刻的查询/进程对CPU造成影响的最快方法。(SQL是Profiler的服务器端版本--如果需要跟踪很长一段时间,这可能是一个更好的选择,但这是一个不同的对话。)

按照同样的思路,稍微准确一点,就是将Perfmon跟踪与Profiler跟踪关联起来,然后您就可以准确地看到CPU启动时运行的内容。(你可以在谷歌上搜索指令。)

另一种方法是查看执行DMV(参见下面的链接),并在total_worker_time上进行排序,因为这与CPU成本有关。

这些方法将缩小您需要关注的查询/过程的范围,从这里您需要查看扩展计划,并确定是否可以添加索引、将查询分解为更小的部分,等等。

以下是一些让您入门的链接:

https://www.sqlskills.com/blogs/glenn/category/dmv-queries/

http://whoisactive.com/

票数 1
EN

Database Administration用户

发布于 2012-03-17 23:34:56

如果在我看来,您的统计数据已经过时了,这将导致Server使用糟糕的执行计划来获取数据。您能发布执行计划吗?查询何时运行良好,何时运行不佳?

由于表中有4M行,所以统计数据在插入/更新/删除大约800,500行之前不会自动更新,因此,如果您输入600 k行,统计数据将保持不变,执行计划将不再适合当前的数据分发。

通过删除索引并重新创建它,您将有效地更新统计信息。

下一次出现问题时,尝试使用UPDATE statistics语句手动更新统计信息,看看这是否有效。如果是这样的话,这就是问题所在,您需要研究如何编写一个定期更新统计数据的作业。

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

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

复制
相关文章
weex-07-通用布局
weex 常用的两种布局 分别为 flex弹性布局 和 绝对定位布局 一般情况下都是这两种配合使用!
酷走天涯
2018/09/14
7050
weex-07-通用布局
有没有一个最好的方法来成为一个iOS开发人员?
入行也好几年了,针对这几年,写些感悟。 成为iOS开发人员的最佳方法是论坛,Stack Overflow,Reddit和其他社交媒体平台的常见问题。 问题通常会询问是否从头开始创建应用程序,或先学习语言,然后创建应用程序。我们假设这个语言是Swift。 您可以先学习Swift语言。您也许使用playgrounds,将练习使用典型的算法,创建数据结构,并了解语言语法,。 或者,您可以考虑应用程序,并开始创建应用程序,同时在运行中学习语言。一个重要的问题是您是否可以通过这种方式实际完成一个应用程序。这个问题的答
Dwyane
2018/05/22
5770
保存用户信息到本地存储
简介:在页面加载时从本地存储中恢复数据,并将已保存的数据显示在对应的输入框中。一起来看看:
Dabenshi
2023/08/27
3250
北航打破模态壁垒,跨可见光-红外模态的通用物理对抗攻击方法来了
近年来,针对视觉感知系统安全性评估的探索逐步深入,先后有研究者成功实现基于眼镜、贴纸、衣服等不同载体的可见光模态安全评估技术,也有一些针对红外模态的新尝试。但是它们都只能作用于单一模态。
机器之心
2023/09/19
4320
北航打破模态壁垒,跨可见光-红外模态的通用物理对抗攻击方法来了
【- Flutter 组件篇 285 -】 CustomSingleChildLayout 通用单子布局
一、认识组件 1. CustomSingleChildLayout组件介绍 可容纳一个子组件,并指定代理类对子组件进行排布。代理类可获取父容器区域和子组件的区域大小,及区域约束情况。 名称: CustomSingleChildLayout 通用单子排布 类型: 布局型 重要性: ☆☆☆ 相关组件: 【Align】、【FractionallySizedBox】、【CustomMultiChildLayout】 家族: RenderObjectWidg
张风捷特烈
2020/05/26
2.2K0
【探花交友】保存用户信息、上传用户头像、用户信息管理
YAPI接口地址:http://192.168.136.160:3000/project/19/interface/api/88
陶然同学
2023/02/24
2.5K0
【探花交友】保存用户信息、上传用户头像、用户信息管理
普通用户使用systemd
要让 CentOS 8 的普通用户(非 root 用户)使用 systemd 进行管理,您需要做以下几个配置:
运维开发王义杰
2023/08/16
1.9K0
普通用户使用systemd
「R」Shiny:用户界面(三)布局
在我们知道如何创建一系列输入和输出控件之后,我们需要学会如何在一个页面中对它们进行排列,以达到比较好的展示效果。这正是布局函数的工作,布局函数提供了一个应用高层次的可视化结构。
王诗翔呀
2020/07/06
3.8K0
「R」Shiny:用户界面(三)布局
使用普通用户执行 Docker
srw-rw----. 1 root root 0 May 25 14:43 /var/run/docker.sock
用户8704835
2021/06/07
2.5K0
centos添加普通用户 原
(adsbygoogle = window.adsbygoogle || []).push({});
拓荒者
2019/03/11
1.5K0
Linux普通用户使用Docker
Docker 是一款开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux 或 Windows 操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
hotarugali
2022/03/07
7.7K0
TortoiseGit(乌龟git)保存用户名密码的方法
github的windows版也用过一段时间,但还是不太习惯。所以目前仍然青睐与msysgit+乌龟git的组合。TortoiseGit在提交时总数会提示你输入用户名密码,非常麻烦。解决方案如下:
战神伽罗
2019/07/24
3.9K0
MySQL root用户不能为普通用户赋权限
MySQL root用户不能为普通用户赋权限, 报错:Error Code: 1044. Access denied for user ‘root’@’%’ to database mysql> select host,user,password,Grant_priv,Super_priv FROM mysql.user; +--------------+---------+-------------------------------------------+------------+------
范一刀
2021/08/10
4.2K0
Cookies+Session保存用户登陆状态
Cookies+Session保存用户登陆状态的验证方式是纯的Session方式,虽然设置了超时时间,但是好像登陆状态经常会动不动就丢失,导致客户抱怨不断,今天仔细的考虑了一下,决定采用Cookies跟Session结合的方式来判断用户的登陆状态
阳光岛主
2019/02/19
1.6K0
联通用户的福利,不了解就拉倒!
​   当今这个4G时代,联通很明智的和各大企业携手搞起了互联通合作资费卡,除了对应的免流服务,对应的资费也可以说很是公道了。
阿豪聊干货
2018/08/09
1.6K0
联通用户的福利,不了解就拉倒!
Linux普通用户添加sudo权限
2.添加sudo文件的写权限,命令是: chmod u+w /etc/sudoers
用户5760343
2022/05/24
5K0
深入Java Swing用户界面组件布局管理器:网格布局+面板+边界布局
在讨论每个Swing组件(例如文本域和单选按钮)之前,首先介绍一下如何把这些组件安排在一个框架内。与Visual Basic不同,JDK没有表单设计器,需要通过编写代码来定制(布局)用户界面组件所在的位置。
愿天堂没有BUG
2022/10/28
3.8K0
深入Java Swing用户界面组件布局管理器:网格布局+面板+边界布局
普通用户如何应对Heartbleed漏洞?
4月9日,一个代号“Heartbleed”(意为“心脏出血”)的重大安全漏洞日前被曝光,它能让攻击者从服务器内存中读取包括用户名、密码和信用卡号等隐私信息在内的数据,目前已经波及大量互联网公司。那么普通用户如何保护自己免受攻击呢? 以下操作建议您: 1. 不要在受影响的网站上登录帐号——除非你确信该公司已经修补了这一漏洞。如果该公司没有向你通告相关进展,你可以询问他们的客服团队。 一些网站(包括雅虎和OKCupid)受了影响但表示他们已经解决了全部或部分问题,你如果不放心,可以在http://filippo
安恒信息
2018/04/10
7780
点击加载更多

相似问题

在Android中有没有什么简单、通用的方法来获取布局的根视图?

10

有没有一种通用的方法来知道用户是否在按住CTRL键?

20

有没有更通用的方法来声明这个数组?

10

有没有一种通用的方法来打印变量?

22

有没有更系统的方法来填充我的布局?

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