Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么要创建和删除一个随机索引来解决这个性能问题?

为什么要创建和删除一个随机索引来解决这个性能问题?
EN

Database Administration用户
提问于 2020-05-19 09:53:37
回答 2查看 160关注 0票数 3

我有一个有17,093,139行的大堆表。此表是数据库中使用最频繁的表。因为这是一个堆表,所以这个表中只有非聚集索引。我定期在此表上重建/重新组织分段索引。

现在,我们经常面临这个问题:访问此表的许多查询会突然开始比平常花费更长的时间。当我检查时,我注意到查询的执行计划已经改变了。

我创建并删除了一个随机的非聚集索引,这解决了这个问题。

我不明白的是,是什么导致了这些突然的缓慢,在任何时候,创建和删除索引在表的后台做什么来修复索引重建工作没有做的事情?

我需要找出触发这些减速的确切原因,这样就可以找到一个永久的解决方案,因为我不能每次都不停地创建和删除索引来解决这个问题。

这里的任何帮助都将不胜感激。

EN

回答 2

Database Administration用户

发布于 2020-05-19 10:00:51

删除表上的索引将刷新从缓存中引用此表的执行计划。(我认为索引需要包含查询中引用的列,但不能100%肯定)。

然后,SQL构建一个新的执行计划,“修复”您的问题。

您可以尝试重新构建统计数据(而不是删除索引),或者手动删除执行计划(请参阅Sp_blitz存储过程以轻松获得命令)。您可能会有相同的行为(查询修复)。如果是这样,那么您可能希望阅读有关参数嗅探的问题。

附注:这是很少有一个好的实践,有一个没有集群索引的表。通常,我看到的唯一好的情况是在日志表中,您希望很快完成插入.但是在您的情况下,如果您有非聚集索引,那么无论如何您都会为插入设置开销。

票数 5
EN

Database Administration用户

发布于 2020-05-19 14:08:36

你可能看到的可能与参数嗅探有关-

1-也许您应该捕获缓慢的计划,并将其保存到以后的新计划中进行比较。

  1. 尝试从缓存中刷新特定的计划,以防您知道您保存的计划比较慢的特定进程。
  2. 如果新计划更快的话,那就省省吧。
  3. 比较两个计划,看看如果看到不同的结果,参数值是什么。

在此基础上,你可以更进一步。但在此之前,最好能知道情况是否真的如此。

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

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

复制
相关文章
怎么删除cdn缓存?大家为什么要删除它?
关于cdn缓存,相信大部分的人都不会对它感到陌生,为了能够提升网速,所以在前期,人们单独进行了cdn缓存。这项工作的落实确实可以产生相当不错的作用,可是没过多久之后,却发现效用不大,这时候便需要将它删除,重新设置,怎么删除cdn缓存一直是一个难题。
用户8715145
2021/09/18
5.6K0
怎么删除cdn缓存?大家为什么要删除它?
Github新建和删除一个仓库(项目)
5:输入仓库名称,Repository name,我的仓库名称是protest,删除即可
王小婷
2019/03/20
8100
Github新建和删除一个仓库(项目)
探秘 RxJS Observable 为什么要长成这个样子?!
我们都知道 RxJS Observable 最基础的使用方法:是建立 Observable,即调用 .create API
掘金安东尼
2022/09/19
2810
探秘 RxJS Observable 为什么要长成这个样子?!
C++为什么要弄出虚表这个东西?
首先回顾一下C语言纯POD的结构体(struct)。如果用C语言实现一个类似面向对象的类,应该怎么做呢?
果冻虾仁
2021/12/08
5510
C++为什么要弄出虚表这个东西?
传统ERP公司为什么只能收购微创公司才能解决基因问题?
近两年总有人问传统软件公司怎么转型,如何转?很多人归结为是基因问题,而如何传统软件基因,一个是要收购创新团队进行基因裂变,一个是通过自身慢慢进化,显然这两种方式,收购来得更直接一些,可是收购什么样的公司呢?一般都会收购来自微创型公司,其原因是什么呢? 最近 Pinterest 收购 了一家由两个人组成的创业公司,这则消息可能会让大部分人摸不着头脑。不应该如此。跟收购 Kosei 一样,收购 Hike Lab 是一笔有着明确目标的微型收购交易,旨在加强 Pinterest 在内容发现方面的努力。更多的公司应
人称T客
2018/03/20
6500
这个随机数的问题——绝对“坑”啊!
小勤:Power Query里生成的这个随机数怎么都是一样的啊?这样很不随机嘛!如下图所示:
大海Power
2021/08/30
2520
性能测试中的随机数性能问题探索
其实第二个场景包含在第一个场景内。对于接口测试来说,通常我们直接使用第二种场景比较多,就是从某一个集合中随机取一个值。如果更复杂一些,每个值拥有不同的权重,其中这个也可以转化成第二个场景来说。
FunTester
2022/12/09
7400
服务设计要解决的问题
  “业务的服务(相对于我们基础架构这边的底层技术)在技术上就需要解决三个问题:分布式、通信和存储。”
静儿
2018/08/28
4180
服务设计要解决的问题
为什么LINQ to XML的性能要优于XmlDocument?
今天群里有人问如何解析web.config方便,然后我就推荐了Linq to XML,然后就有人说“我宁可XmlDocument,再SeleteNodes和SeleteNode”,不要用LINQ之类的,甚至否定EntityFramework等一系列框架,认为这些都是所谓的“懒人技术”,都是以牺牲性能为代价的。我在这里想申明一点,没有测试就没有发言权,并不是所有的”懒人技术“都是以牺牲性能为代价的。我这人比较喜欢就技术论技术,不喜欢武断的言论,于是展开了讨论。本文只是做一个总结。
雪雁-心莱科技
2018/12/27
1.2K0
基因日签【20210628】前mRNA剪接要经过一个套马索结构
当5’剪接位点被切割,且内含子5‘端连接到内含子分支点上的A的2’位时,将形成一个套马索结构。
尐尐呅
2022/03/31
3510
基因日签【20210628】前mRNA剪接要经过一个套马索结构
为什么旧域名建设的网站不收录 如何解决这个问题
现在很多的人在建设网站的时候会选择用一些老域名,老域名也就是曾经被用过的网站,也曾经被各种搜索引擎收录其中。搜索引擎对老域名网站有一定的记忆,所以选择用老域名建站的话,对于很多站长来说是一个便捷的选择。可是有些网站建设者却发现了一个问题,用旧的域名建设的网站,搜索引擎却不收录网站,为什么旧域名建设的网站不收录呢?
用户8715145
2021/12/01
1.2K0
解决kafka无法删除topic问题
使用kafka命令删除某个topic之后,查看集群的topic列表时,被删除的tpoic依然存在
全栈程序员站长
2022/11/03
1.7K0
解决kafka无法删除topic问题
[记录点滴] 一个解决Lua 随机数生成问题的办法
原因是LUA的random只是封装了C的rand函数,使得random函数有一定的缺陷,
罗西的思考
2020/09/07
7.6K0
为什么JSON.parse会损坏大数字,如何解决这个问题?
从10多年前JSON在线编辑器的早期开始,用户经常反映编辑器有时会破坏他们JSON文档中的大数字的问题。直到现在,我们也没能解决这个问题。在这篇文章中,我们深入解释了这个问题,并展示如何在JSON Editor Online中解决这个问题。
前端小智@大迁世界
2022/11/07
2.9K0
2.8 创建和删除目录mkdir/rm
mkdir mkdir = make directory mkdir就是创建目录,不能级联创建目录 date 显示当前时间 mkdir -p 可以级联创建目录 -v 使命令运行可视化 创建目录时一定要注意绝对路径和相对路径,当前目录,一般使用的都是相对路径也就是没有 / 这个符号的开头的 [root@hf-01 ~]# mkdir /tmp/aminglinux [root@hf-01 ~]# ls -ld /tmp/aminglinux/ drwxr-xr-x.
运维小白
2018/02/06
8460
Oracle用户的创建和删除
SQL> create user user01 identified by user01;
bisal
2019/01/29
1.6K0
比特币要解决什么问题?
首先,人民币是有价值的。为什么这些人民币纸币有价值呢?因为这是国家发行的,而国家说他是有价值,我们人民群众也认可国家。所以,人民币可以在我们之间交易,2元人民币可以买包方便面,10元可以买包巧克力。
sickworm
2019/02/27
1.1K0
初学量化交易环境搭建和问题解决
目前Python的版本已经到了3.8.5,但是在实际的开发中并木有太多的使用者,或者说很的多包和插件都还不支持。(我java猿一枚)目前自己属于一个量化的初学者,对python生态还不是很了解。全程靠着伸手党的本事,在搜索引擎的海洋里打怪升级,今天在这里记录下升级的心酸。
kinbug [进阶者]
2021/12/28
1.4K0
初学量化交易环境搭建和问题解决
如何解决性能问题
大部分软件都可以通过付出相对较小的努力,让他们比刚发布时快上10到100倍。在市场的压力下,选择一个简单而快速的解决问题的方法是比选择其它方法更为明智而有效率的选择。然而,性能是可用性的一部分,而且通常它也需要被更仔细地考虑。
硬核编程
2019/09/05
1.2K0
如何解决性能问题
为什么wifi连接上却不能上网 如何解决这个问题
在以前中国尚未完善基站建设时,每个人用的都是手机网络,高昂的流量费用,让那个时候的网吧很受欢迎,但那个时候的电脑大部分都是直接连接网线端口,而现在网线普及,几乎家里、学校、公共场合都可以连接wifi使用,不用繁多的线路和价格贵的流量。但有时候电脑的wifi连接却有些问题,为什么wifi连接上却不能上网?
用户8739405
2021/07/09
3.2K0

相似问题

我可以通过添加一个索引来提高这个MySQL查询的性能吗?

20

如何通过正确的索引来提高查询性能?

30

Server超时:删除和重新创建索引解决了这个问题

30

为什么这些查询会死锁,以及如何在MariaDB中解决这个问题?

10

为什么这个派生表会提高性能?

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档