堆表(heap table)的存储方式:

  • Oralce 数据库系统中最普通,最为常用的即为堆表。

  •     堆表的数据存储方式为无序存储,也就是任意的DML操作都可能使得当前数据块存在可用的空闲空间。

  •     处于节省空间的考虑,块上的可用空闲空间会被新插入的行填充,而不是按顺序填充到最后被使用的块上。

  •     上述的操作方式导致了数据的无序性的产生。

  •     当创建索引时,会根据指定的列按顺序来填充到索引块,缺省的情况下为升序。

  •     新建或重建索引时,索引列上的顺序是有序的,而表上的顺序是无序的,也就是存在了差异,即表现为聚簇因子。

验证:

1、创建table

SQL> conn scott/tiger

Connected.

SQL> create table t1

  2  (a int,

  3   b varchar2(4000) default rpad('*',4000,'*'),

  4   c  varchar2(3000) default rpad('*',3000,'*')

  5  )

6  /

Table created.

SQL> desc t1

Name                                      Null?    Type

----------------------------------------- -------- ----------------------------

A                                                  NUMBER(38)

B                                                  VARCHAR2(4000)

C                                                  VARCHAR2(3000)

2、插入数据

SQL> insert into t1(a) values (1);

1 rows created;

SQL> insert into t1(a) values (2);

1 rows created;

SQL> insert into t1(a) values (3);

1 rows created;

SQL> select a from t1;

A

----------

1

2

3

3、删除一行数据

SQL> delete from  t1 where a=2;

1 row deleted.

SQL> select a from t1;

A

----------

1

3

4、再重新插入一行记录

SQL> insert into t1(a) values (4);

1 row created.

SQL> select a from t1;

A

----------

  1

         4

         3

从以上可以看出,数据插入并不是按顺序插入,而是使用了原来被删除的那条记录的空间!

本文转自 客居天涯 51CTO博客,原文链接:http://blog.51cto.com/tiany/1416355,如需转载请自行联系原作者

验证堆表(heap table)存储方式相关推荐

  1. mysql堆表和索引组织_从堆表(Heap Table)到索引组织表

    对关系型数据库产品(RDBMS)而言,一个重要特性就是:数据信息都被组织为二维数据表,信息的表达可以通过一系列的关联(Join)来完成.具体数据库产品在实现这个标准的时候,又有千差万别的特点.就是一个 ...

  2. SQL Server 堆表行存储大小(Record Size)

    一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 堆表行记录存储格式(Heap) 案例分析(Case) 参考文献(References) 二.背 ...

  3. 行存、列存,堆表、AO表性能对比 - 阿里云HDB for PostgreSQL最佳实践

    标签 PostgreSQL , GIS , PostGIS , Greenplum , 空间检索 , GiST , B-Tree , geohash 背景 <Greenplum 行存.列存,堆表 ...

  4. ruhr启动mysql数据库_Mysql表类型(存储引擎)的选择

    以下内容转载自:https://www.cnblogs.com/jswang/p/6923911.html 7.1 mysql存储引擎概述 插件式存储引擎是mysql数据库最重要的特性之一,用户可以根 ...

  5. 顺序表的动态存储细节

    顺序表的动态存储细节 @(算法学习) 在顺序表的动态存储定义中需要包含的数据成员是(C) I. 数组指针 II. 表中元素个数n III. 表的大小maxSize IV. 数组基址base A. I ...

  6. SQL Server Insert 操作效率(堆表 VS 聚集索引表)

    "SQL Server的Insert操作在堆表或者聚集索引表的时候,哪个效率更高?为什么高?" 之前有同事问过我这个问题,为了确保日志库的记录效率,于是我做了简单测试了,首先要先强 ...

  7. 数据结构(六):图的概念、存储方式、基本操作、最小生成树、最短路径、有向无环图、关键路径 | Prim、Kruskal算法 | BFS、Dijkstra、Floyd算法 | 拓扑排序 | 求关键路径

    文章目录 第六章 图 一.图 (一)图的定义 (二)图逻辑结构的应用 (三)无向图.有向图 (四)简单图.多重图 (五)顶点的度.入度.出度 (六)顶点-顶点的关系描述 (七)连通图.强连通图 (八) ...

  8. 11.JDK8内存模型、本地方法栈、虚拟机栈、栈帧结构(局部变量表、操作数栈、方法出口、虚拟机栈与本地方法栈的关系、寄存器、方法区、堆(Heap)、jvm中的常量池、Metaspace(元空间))

    11.JDK8内存模型 11.1.本地方法栈(Native Method Stacks) 11.2.虚拟机栈(Java Virtual Machine Stacks) 11.3.栈帧结构 11.3.1 ...

  9. 堆/栈/动态存储方式/静态存储方式

    动态存储方式 所谓动态存储方式是指在程序运行期间根据需要进行动态的分配存储空间的方式.动态存储变量是在程序执行过程中,使用它时才分配存储单元, 使用完毕立即释放. 典型的例子是函数的形式参数,在函数定 ...

  10. 字符串的存储方式以及静态存储区域、栈、堆

    下面两篇文章分析得比较详细.转自http://blog.csdn.net/yangdelong/archive/2010/04/03/5447362.aspx 文章来源 http://blog.csd ...

最新文章

  1. Janus流媒体服务器框架分析
  2. 美国总统就职演说词汇分布图
  3. CF535C Tavas and Karafs 二分 + 结论
  4. 欢乐纪中A组莫名其妙赛【2019.6.6】
  5. 跨域问题深入理解以及解决办法
  6. [Spring+Hibernate系列] 3.开发环境快速Ant 部署
  7. 图说:快!快!抢注自己名字的Outlook.com的邮件别名吧
  8. arduino图形编程——ardublock
  9. DTCMS插件的制作实例电子资源管理(二)Admin后台页面编写
  10. 奔跑吧,旅行商 - 当机器学习遇上组合优化
  11. 微信朋友圈马赛克图片 —— 抓包破解
  12. Cygwin安装笔记
  13. windows搭建Qt源码编译、调试环境
  14. http://jingyan.baidu.com/article/a3761b2b66fe141577f9aa51.html
  15. 视频网站存储在服务器,网络视频存储服务器
  16. Latex中外国人姓和名中间的连接点号
  17. 原理+论文+实战:60篇由浅入深的时间序列预测/分类教程汇总
  18. 如何把流氓软件删除干净
  19. 什么是长尾理论以及长尾理论的启示
  20. 【微信小程序】小茶书项目

热门文章

  1. C#基础回顾(一)—C#访问修饰符
  2. Magento报错之SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry for key 1
  3. Asp.Net学习之-母板
  4. 124 并发编程小结
  5. 基于百度通用翻译API的一个翻译小工具
  6. mysql导出导入数据
  7. 数据库操作导入导出以及加快查询速度
  8. Linux:写一个简单的服务器
  9. 新增加的HTTP状态码 -- 103
  10. jquery实现全选功能