探究SQL添加非聚集索引,性能提高几十倍之谜

 我来答
懂视生活
2023-07-27 · 百度认证:湖南福仁科技有限公司官方账号
懂视生活
向TA提问
展开全部


)添加非聚集索引后,数据库会自动复制一份数据,然后sql查询时会去这份复制的数据检索,这样就大大地减少了数据库响应的时间。那么是否非聚集索引越多越好呢?通常来讲,一个表只能有一个聚集索引,但可以有多个非聚集索引。而数据库索引主要目的就是提高了SQLServer系统的性能,加快数据的查询速度与减少系统的响应时间 。但这并不意味着索引(非聚集索引)越多越好。恰当的索引设计会显著提高性能,反之会得不偿失。当我们的技术支持给客户设计索引时,查询时间仍然没有如期提高。这就是非聚集索引设计不恰当的例子。因为那三个字段(前面提到)中包含一个字段:现场时间,而这个字段是会动态变化的,客户查询操作的一个过滤条件就是时间,所以并没有如期生效,因为sql查询时没有命中这个复制的数据集。所以当减少这个字段时,查询时间又回到6s-7s之间,命中率显著提高。

此外,非聚集索引的增加会增加硬盘(或内存)的开销,世上没有一举两得事情,所以权衡利弊恰当地设计索引尤为重要。


探究SQL添加非聚集索引,性能提高几十倍之谜
标签:高性能检索style很多聚集代码round响应时间之间

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式