VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 数据库 > sql数据库 >
  • sql语句大全之保持数据的排序

保持数据的排序
正如以前所说的,聚集索引总是让表中的数据保持一定的顺序。如果将一个列(或多个列)设置为聚集索引,在插入记录时,SQL Server会将记录插入到合适的物理位置上,以确保该记录在数据表中以在索引中所指定的正序或倒序存储。对此解释得更深入一些,假定你在客户编号上设置了聚集索引,当前客户编号的数据包括10、6、4、7、2和5,则SQL Server将对数据按如下的顺序物理存储:2,4,5,6,7,10。如果一个过程往表中添加了客户编号9,则它会被物理地插入到7和10之间,这意味着客户编号为10的记录需要被物理地移动。因此,如果在一行或多行中设置了聚集索引,当数据插入到这些行中时,会导致聚集索引被重新排序,这会极大影响数据插入的性能。当创建索引时,SQL Server允许指定一个填充要素,通过这种方法减少由于重新排序所带来的冲突。这里简单地讲一下填充因子。不管怎样,这一选项使你能够定义在创建新叶之前索引叶被填充的程度。可以把索引叶想成是每一个存储柜的索引卡。我们知道将有更多的物品会被放入柜中,而你可能需要把这些物品中的一部分添加到存储柜的索引卡上。因此,要尝试估计将添
 
6.3.1 使用了不合适的列

6.3  确定是什么导致了坏的索引
现在你知道了什么是好的索引,让我们再研究一下,究竟是什么导致了坏的索引。这里有几点需要注意:
使用了不合适的列;
选择了不合适的数据;
包含了过多的列;
表中包含的记录过少。
6.3.1  使用了不合适的列
如果在表中存在未被查询使用的列,那么最好不要为该列创建索引,除非需要将它同其他的列组合起来创建覆盖索引,正如前面提到的那样。如果为未被查询使用的列设置了索引,索引仍然会增加数据修改操作的开销,但是却不会提高数据提取操作的任何性能。

相关教程