有时候我们常常为了使用方便,省略建主键的建表方式。
因为很多时候,这些数据来自于外部,而且数量和增长不会很大。
比如是一些存储过程刷新出来的结果集。
那么我们就会建一个堆表。什么是堆表?
就是没有主键,也没有索引的表。
堆表在创建以后,数据库会以最快地速度把数据插入到磁盘中。在这个过程中,会产生磁盘碎片,数据分散的情况。
这样会大大地降低数据密度。
什么意思呢?
就是说在SELECT表T,要扫描扇区A的时候,只有10%的数据是表T的,但是为了那10%的数据,要扫描多90%不必要的数据。
我们不介意搜索引擎对表T进行全表扫描,但是数据碎片化对于数据库性能,还有磁盘性能都有很大的隐患。
所以,无论什么样的表,都要做成聚簇表,索引表。
也就是有索引,有主键的表。
稍微对比一下堆表和索引表
堆表(heap table)数据插入时时存储位置是随机的,主要是数据库内部块的空闲情况决定,获取数据是按照命中率计算,全表扫表时不见得先插入的数据先查到。
索引表(iot)数据存储是把表按照索引的方式存储的,数据是有序的,数据的位置是预先定好的,与插入的顺序没有关系。
索引表的查询效率逼堆表高(相当于查询索引的效率),插入数据的速度比堆表慢。
相关推荐
加密的惨剧!慎用文件夹加密软件! 加密的惨剧!慎用文件夹加密软件!
把要删除的文件拖到这个文件上面即可。注意,这是强力删除。一定慎用,因为连垃圾箱都会没有的。
易语言处理事件命令慎用时钟版源码,处理事件命令慎用时钟版
移动磁盘低格工具(慎用)移动磁盘低格工具(慎用)移动磁盘低格工具(慎用)
冰冻精灵清除器慎用
SQL和MSDE清理小程序(慎用),SQL和MSDE清理小程序(慎用),SQL和MSDE清理小程序(慎用),
慎用防止窜货的方法.doc
一些要慎用DOS命令.docx
慎用六大软件伤硬盘最终版.pdf
玩客云 灯光控制 容易烧主板 慎用
慎用资本弱化防范税务风险.docx
慎用抗生素 刻不容缓 (小品).docx
保护电脑慎用六大软件伤硬盘
初中语文文摘生活老人慎用电子按摩器
初中语文文摘生活慎用何首乌治白发
易语言处理事件命令慎用时钟版源码。@易语言源码分享站。
易语言处理事件命令慎用线程版源码。@易语言源码分享站。