在索引组织表中索引与表是一个整体,数据是按照树型结构存储的,在存储数据的时候成本比较大,因为数据在存储时需要在索引上找到适合自己的位置。但在读取数据的时候,由于表和索引是一个整体,所以不需要发生大量随机读取,从而降低了读取时的成本。在索引表中可以将指定列之后的数据存储在溢出区中,在从溢出区中读取数据的时候需要执行大量随机读取,所以从溢出区中读取数据时成本比较大。
在了解了索引组织表的特征之后,在实际应用时应当根据具体的业务需求来进行选择,例如,前一段时间曾经有一个朋友告诉我,有一张非常大的表,但是每次只从中读取一两个列,而且速度非常慢,他问我针对这种情况如何才可以提供性能,我告诉他,最好使用索引组织表,如目前你使用的是堆组织表,那么首先创建一个名称不相同的索引组织表(在创建的时候将不需要经常读取的列存储在溢出区中),然后将原表中的数据全部复制过来,最后在修改表名称。或者在堆表中直接创建一个基于这一两个列的索引,确保每次只需要从索引中读取数据便可,这样速度就会明显提高。
聚簇表的作用主要有两个,其一提高海量数据处理的速度,因为利用一个索引行就可以读取一个单位聚簇中所存储的全部数据;其二提高特定表连接的效率,在复合聚簇表中将经常需要执行表连接的两个或多个表聚簇在一起,每次读取的时候不需要执行额外的表连接。例如:部门表和员工表,将其聚簇在一起,可以减少他们之间的表连接成本。
因此,我们需要对各种表类型的优缺点有一个充分的了解,并根据具有业务需求来选择表类型。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25708791/viewspace-693699/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/25708791/viewspace-693699/