首页 / 知识
关于sql:表扫描和聚集索引扫描之间有什么区别?
2023-04-12 16:15:00

What's the difference between a Table Scan and a Clustered Index Scan?
由于 举个例子-当有很多记录时,以下各项之间的性能差异是什么?:
在没有聚集索引的表(堆表)中,数据页未链接在一起-因此遍历页需要查找索引分配图。
但是,一个群集表将其数据页链接在一个双向链接列表中,这使得顺序扫描的速度更快。当然,作为交换,您需要承担将数据页保持在
如果您的查询具有 而且,当然,聚集索引使您可以执行聚集索引SEEK,这对于性能而言是非常理想的……没有索引的堆将始终导致表扫描。 所以:
Microsoft拥有一份白皮书,该白皮书将堆中的聚集索引与等效的非聚集索引进行了比较(与我上面讨论的不完全相同,但是很接近)。他们的结论基本上是在所有表上放置聚簇索引。我将尽力总结他们的结果(再次,请注意,它们实际上是在这里将非聚集索引与聚集索引进行比较-但我认为它是相对可比较的):
http://msdn.microsoft.com/zh-CN/library/aa216840(SQL.80).aspx 聚集索引扫描逻辑和物理运算符将扫描"参数"列中指定的聚集索引。当存在可选的WHERE :()谓词时,仅返回满足该谓词的那些行。如果Argument列包含ORDERED子句,则查询处理器已请求按聚集索引对行进行排序的顺序返回行的输出。如果不存在ORDERED子句,则存储引擎将以最佳方式扫描索引(不保证对输出进行排序)。 http://msdn.microsoft.com/zh-CN/library/aa178416(SQL.80).aspx 表扫描逻辑和物理运算符从"参数"列中指定的表中检索所有行。如果WHERE :()谓词出现在Argument列中,则仅返回满足该谓词的那些行。 表扫描必须检查表的每一行。聚集索引扫描仅需要扫描索引。它不会扫描表中的每条记录。确实,这就是索引的意义。 |
最新内容
相关内容
pythonCookie和Session有什么区别?
pythonCookie和Session有什么区别?,培训,python字典和json有什么区别
python字典和json有什么区别,培训,对比,位置,周期,数据,项目,数字,字符串,对象,类型,python中,json和dict非常类似,都是key-value的形式,而且jsopython异常和错误有什么区别
python异常和错误有什么区别,异常,检测,软件,培训,错误,发生,程序,程序员,逻辑,措施,1.错误从软件方面来说,错误是语法或是逻辑上的。语法错误python__new__()和__init__()有什
python__new__()和__init__()有什么区别?,培训,实例,代码,方法,参数,对象,初始化,函数,级别,定义,在python中,__new__()不是一定要有,只有继承python包和文件夹有什么区别
python包和文件夹有什么区别,培训,单位,公共,文件夹,显卡,模块,大小,字节,剩余,实例,python包和文件夹有什么区别1、一个或多个文件夹组成一Ruby 1.8和Ruby 1.9有什么区别
Ruby 1.8和Ruby 1.9有什么区别,Ruby 1.8和Ruby 1.9有什么区别,新版本,当前版本,解释,简单,What is the difference between Ruby 1.8关于sql:最喜欢的性能调整技巧
关于sql:最喜欢的性能调整技巧,关于sql:最喜欢的性能调整技巧,查询,优化技巧,存储过程,性能,Favourite performance tuning tricks当您关于性能:Hadoop的经验?
关于性能:Hadoop的经验?,关于性能:Hadoop的经验?,体系结构,文件系统,我也,分布式,Experience with Hadoop?你们有没有尝试过Hadoop? 在无关于性能:为(字符串)哈希函数选择乘
关于性能:为(字符串)哈希函数选择乘数,关于性能:为(字符串)哈希函数选择乘数,函数,计算,用于,乘法器,Choosing a multiplier for a (st识别SQL Server性能问题
识别SQL Server性能问题,识别SQL Server性能问题,应用程序,超时,群集,查询,Identifying SQL Server Performance Problems我们的SQL关于性能:解释语言-利用解释器后面
关于性能:解释语言-利用解释器后面的编译语言,关于性能:解释语言-利用解释器后面的编译语言,语言,解释,的人,我对,Interpreted languag.NET中的struct和class有什么区别?
.NET中的struct和class有什么区别?,.NET中的struct和class有什么区别?,类型,引用,值类型,结构,What's the difference between struct