ホームページ  >  記事  >  データベース  >  陷阱~SQL全表扫描与聚集索引扫描

陷阱~SQL全表扫描与聚集索引扫描

WBOY
WBOYオリジナル
2016-06-07 17:39:031038ブラウズ

SqlServer中在查询时,我们为了优化性能,通常会为where条件的字段建立索引,如果条件比较固定还会建立组合索引,接下来,我们来看一下索引与查询的相关知识及相关陷阱。 SQL表自动为主键加聚集索引的猜想 我认为应该是对查询的优化,因为如果聚集(最多

SqlServer中在查询时,,我们为了优化性能,通常会为where条件的字段建立索引,如果条件比较固定还会建立组合索引,接下来,我们来看一下索引与查询的相关知识及相关陷阱。

SQL表自动为主键加聚集索引的猜想

我认为应该是对查询的优化,因为如果聚集(最多只能有一个)索引的话,在SQL查询时,将进行全表扫描,反之,进行聚集索引(B树结构)扫描,这将大大加快检索的速度;有时,我们感觉对主键(自增的)加聚集索引没什么用,所以就把它改为非聚集索引,但当我们为表的其它字段索引后,发展查询时没有按着索引检索,而是全表扫描,这是为何?原因是表中没有任何字段是聚集的索引,所以你还必须为这个索引加上聚集的,sqlserver怕我们忘记加“聚集”索引,所以当我们在设置主键时,它帮助我们自动为主键加上聚集索引,这是那个原因。

对于存在聚集索引的表,在查询计划中可以观察到它是走聚集索引的

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。