您的位置:首页 > 数据库

SQL Server --堆表和索引表的区别

2016-11-03 10:40 323 查看
概念:
1. 堆表(heap table)数据插入时时存储位置是随机的,主要是数据库内部块的空闲情况决定,获取数据是按照命中率计算,全表扫表时不见得先插入的数据先查到。
2. 索引表(iot)数据存储是把表按照索引的方式存储的,数据是有序的,数据的位置是预先定好的,与插入的顺序没有关系。

优点:
1. 堆表,插入更新数据速度快。
2. 索引表,查询效率比堆表高。

缺点:
1. 堆表,查询速度慢,是全表扫描的。
2. 索引表,插入更新数据速度慢,因为索引也需要更新。

什么时候用索引表:
适用于信息检索、空间和OLAP程序。
1、 代码查找表。
2、 经常通过主码访问的表。
3、 构建自己的索引结构。
4、 加强数据的共同定位,要数据按特定顺序物理存储。
5、 经常用between…and…对主码或唯一码进行查询。数据物理上分类查询。如一张订单表,按日期装载数据,想查单个客户不同时期的订货和统计情况。

参考:
http://blog.csdn.net/magister_feng/article/details/6590311
http://blog.csdn.net/xqy1522/article/details/6750252
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  sql