前端之家收集整理的这篇文章主要介绍了
sql-server – 如何知道何时/是否有太多索引?,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
它时不时地运行Microsoft
sql Server Profiler,它建议我创建一堆新的索引和
统计数据(“……估计有97%的改进……”).
根据我的理解,每个添加的索引都可以使sql SELECT查询更快,但是由于必须调整索引,因此UPDATE或INSERT查询也会变慢.
我想知道的是,我什么时候有“太多”索引/统计数据?
也许没有明确的答案,但有一些经验法则.
您的
负载配置文件是回答此问题的最重要因素.
>如果您的负载是读密集型的,那么您希望索引满足最重或最频繁的查询.
>如果您的负载是写密集型的,请仔细索引.例如,满足寻求更新需求的索引,以及您的一个或两个最昂贵的SELECT.
>如果您的加载是OLAP加载,请谨慎索引,因为无论如何您都将扫描目标表.
你怎么知道索引太多了?
>当你可以通过任何查询看到其中一些are not used.
>频繁的DELETE,UPDATE或INSERT显示涉及几个昂贵的索引更改的查询计划(即非聚集索引insert,update或delete).使用您的判断来确定对这些DML语句的惩罚是否值得从必须更新的索引中获得的收益.
原文链接:https://www.f2er.com/mssql/79515.html