MsSQL
发布时间:2022-05-16 发布网站:大佬教程 code.js-code.com
大佬教程收集整理的这篇文章主要介绍了sql – 聚簇索引比带有包含的非聚集索引更快吗?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
参见英文答案 >
Better to use a Clustered index or a Non-Clustered index with included
columns?3个
我有一个表格,其中列a,b,c,d,e,f,g大约有500,000行.
有一个查询经常运行,它执行SELECT * FROM表WHERE a = @a AND b = @b AND c = @c.
在a,b和c上创建聚簇索引是否更好?或者我最好在a,b和c INCLUDE(d,g)上创建非聚集索引.
自发出SELEct *以来,不确定include会帮助加快查询速度.
任何帮助,将不胜感激!
解决方法
聚簇索引对于
SELECT来说是最快的,但它可能不一定是正确的选择.
聚簇索引确定记录的物理存储顺序(这就是为什么每个表只能有一个).因此,虽然它对于THAT查询来说是最快的,但它可能会减慢其他查询的速度,并且如果其中一个列发生更改,则可能会更新和插入Kill,这可能意味着需要对记录进行物理重新定位.
如果更新了任何这些字段(包括包含的字段),则INCLUDE将以额外存储和额外索引维护为代价再次加速该查询.
我将在a,b和c上使用非聚集索引启动,并查看是否可以将性能提升到合理的水平.更多的东西可能只是在一个区域的交易速度,在另一个区域的缓慢.
大佬总结
以上是大佬教程为你收集整理的sql – 聚簇索引比带有包含的非聚集索引更快吗?全部内容,希望文章能够帮你解决sql – 聚簇索引比带有包含的非聚集索引更快吗?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。