加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql-server – 如何知道何时/是否有太多索引?

发布时间:2020-12-12 06:19:27 所属栏目:MsSql教程 来源:网络整理
导读:它时不时地运行Microsoft SQL Server Profiler,它建议我创建一堆新的索引和统计数据(“……估计有97%的改进……”). 根据我的理解,每个添加的索引都可以使SQL SELECT查询更快,但是由于必须调整索引,因此UPDATE或INSERT查询也会变慢. 我想知道的是,我什么时候
它时不时地运行Microsoft SQL Server Profiler,它建议我创建一堆新的索引和统计数据(“……估计有97%的改进……”).

根据我的理解,每个添加的索引都可以使SQL SELECT查询更快,但是由于必须调整索引,因此UPDATE或INSERT查询也会变慢.

我想知道的是,我什么时候有“太多”索引/统计数据?

也许没有明确的答案,但有一些经验法则.

解决方法

您的负载配置文件是回答此问题的最重要因素.

>如果您的负载是读密集型的,那么您希望索引满足最重或最频繁的查询.
>如果您的负载是写密集型的,请仔细索引.例如,满足寻求更新需求的索引,以及您的一个或两个最昂贵的SELECT.
>如果您的加载是OLAP加载,请谨慎索引,因为无论如何您都将扫描目标表.

你怎么知道索引太多了?

>当你可以通过任何查询看到其中一些are not used.
>频繁的DELETE,UPDATE或INSERT显示涉及几个昂贵的索引更改的查询计划(即非聚集索引insert,update或delete).使用您的判断来确定对这些DML语句的惩罚是否值得从必须更新的索引中获得的收益.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读