对DB2的表做重组之后,表中记录在磁盘上的存放顺序可能会发生改变,那么到底是怎么存放的呢?之前写过一篇文章,链接如下:

Db2中"SELECT * FROM TABLE"时返回记录的顺序

这篇文章继续探索表被重组(以下内容只关注离线重组)之后,记录是如何存放的。

先创建如下一张表,表中有两个普通索引:
db2 "create table t1(id int, name char(5))"
db2 "create index t1_idx1 on t1(id)"
db2 "create index t1_idx2 on t1(name)"
db2 "insert into t1 values(333, 'aaa')"
db2 "insert into t1 values(444, 'ddd')"
db2 "insert into t1 values(111, 'bbb')"
db2 "insert into t1 values(222, 'eee')"
db2 "insert into t1 values(555, 'ccc')"

测试1:

inst105@node01:~> db2 "select * from t1"ID          NAME
----------- -----333 aaa  444 ddd  111 bbb  222 eee  555 ccc  5 record(s) selected.inst105@node01:~> db2 "reorg table t1"
DB20000I  The REORG command completed successfully.
inst105@node01:~> db2 "select * from t1"ID          NAME
----------- -----333 aaa  444 ddd  111 bbb  222 eee  555 ccc  5 record(s) selected.

结论1: Reorg之后,表中的记录存放顺序可能不会改变。

测试2:

inst105@node01:~> db2 "reorg table t1 index t1_idx1"
DB20000I  The REORG command completed successfully.
inst105@node01:~> db2 "select * from t1"ID          NAME
----------- -----111 bbb  222 eee  333 aaa  444 ddd  555 ccc  5 record(s) selected.inst105@node01:~> db2 "reorg table t1 index t1_idx2"
DB20000I  The REORG command completed successfully.
inst105@node01:~> db2 "select * from t1"ID          NAME
----------- -----333 aaa  111 bbb  555 ccc  444 ddd  222 eee  5 record(s) selected.

结论2:如果Reorg table命令后面加上了index选项,那么会按照指定的index排序存放。

再来看另外一张表
db2 "create table t2(id int, name char(5))"
db2 "create index t2_idx1 on t2(id) CLUSTER"
db2 "insert into t2 values(333, 'aaa')"
db2 "insert into t2 values(444, 'ddd')"
db2 "insert into t2 values(111, 'bbb')"
db2 "insert into t2 values(222, 'eee')"
db2 "insert into t2 values(555, 'ccc')"

测试3:

inst105@node01:~> db2 "select * from t2"ID          NAME
----------- -----333 aaa  444 ddd  111 bbb  222 eee  555 ccc  5 record(s) selected.inst105@node01:~> db2 "reorg table t2"
DB20000I  The REORG command completed successfully.
inst105@node01:~> db2 "select * from t2"ID          NAME
----------- -----111 bbb  222 eee  333 aaa  444 ddd  555 ccc  5 record(s) selected.

结论3:如果表上有cluster index,重组时不加index选项,则重组后表中记录按照cluster index排序存放。

DB2: Reorg之后表中记录在磁盘上存放的顺序相关推荐

  1. MySQL学习笔记03【数据库表的CRUD操作、数据库表中记录的基本操作、客户端图形化界面工具SQLyog】

    MySQL 文档-黑马程序员(腾讯微云):https://share.weiyun.com/RaCdIwas 1-MySQL基础.pdf.2-MySQL约束与设计.pdf.3-MySQL多表查询与事务 ...

  2. 表的插入、更新、删除、合并操作_18_清空表中记录

    清空表中记录 需求描述 需求:删除dept表里deptno为50的记录,但数据不可再恢复. 解决方法:这里通过TRUNCATE TABLE TableName方式来删除数据. 注: 数据库数据集SQL ...

  3. 表的插入、更新、删除、合并操作_17_按照条件删除表中记录

    按照条件删除表中记录 需求描述 需求:删除dept表里deptno为50的记录,但后期可通过数据库日志恢复. 解决方法:这里通过DELETE FROM TableName WHERE Columnam ...

  4. 数据表的修改、删除与表中记录的录入

    实验4 MySQL数据表的修改.删除与表中记录的录入 目录 实验4 MySQL数据表的修改.删除与表中记录的录入 实验目的: 1.掌握MySQL中数据表结构的修改.删除: 2.掌握MySQL表中记录的 ...

  5. 已知顺序表中元素值递增有序。 用算法实现将元素x查到表中适当的位置上,以保持顺序表的有序性。

    已知顺序表中元素值递增有序.用算法实现将元素x查到表中适当的位置上,以保持顺序表的有序性. 第一种写法: //已知顺序表中元素值递增有序.用算法实现将元素x查到表中适当位置上,以保持顺序表的有序性 # ...

  6. JavaWeb - 数据库,MySQL安装卸载,MySQL服务器存储结构,sql语言,使用sql操作数据库/数据库表/表中记录,聚集函数,分组操作,limit关键字,重置root密码

    转载请注明出处:https://blog.csdn.net/mythmayor/article/details/72781451 1.数据库的简介 (1)什么是数据库,就是一个文件系统,使用标准sql ...

  7. 以A表中的值快速更新B表中记录的方法

    1.问题描述 有两张表,A表记录了某些实体的新属性,B表记录了每个实体的旧属性,现在打算用A中的属性值去更新B中相同实体的旧属性,如下图所示: 类似这样的需求,怎样做比较高效呢? 2.制作模拟数据   ...

  8. db2 快速清除表中所以的数据

    db2 "alter table t1 activate not logged initially with empty table" 快速清除表数据操作, 这个操作是不记录日志的 ...

  9. java删除sql表中记录,您将如何维护SQL表中的历史记录?

    我正在设计一个数据库来存储产品信息,并且我想存储几个月的历史(价格)数据以供将来参考. 但是,我想在设定的时间之后,以最小的努力开始覆盖初始条目,以查找初始条目. 有谁对如何解决这个问题有个好主意? ...

最新文章

  1. 一文详解相机标定算法原理
  2. SQL Server 数据库的维护(一)__存储过程(procedure)
  3. 九度 题目1548:平面上的点
  4. sql添加列,删除列,修改列
  5. 托福备考有用的心得 ——转载
  6. 秒懂servletContext对象
  7. TensorFlow的基本使用
  8. mysql关系数据库引擎_MySQL数据库引擎详解
  9. linux内核升级写入不了,解决linux内核升级后不能重启系统的故障
  10. Java数据库篇4——表的约束
  11. Python调用百度接口(情感倾向分析)和讯飞接口(语音识别、关键词提取)处理音频文件...
  12. 小程序入门学习07--动态设置标题、转发
  13. left join条件放在on和where的区别
  14. NGINX上PHP header问题
  15. php 保存json格式数组 json_encode /u 不转义
  16. 机顶盒系统升级服务器地址,网络机顶盒怎么升级?详细教程分享
  17. 站长常用的15个建站助手网站工具软件
  18. 计算机主板提示ahci,映泰主板设置硬盘模式AHCI或IDE的教程
  19. Android app使用TextToSpeech实现文字转换语音
  20. 怎么看rx580是不是470刷的_【BIOS】网上都没有的教程 RX470 RX480 RX570 RX580显卡BIOS刷黑了怎么办?自救方法...

热门文章

  1. Java面向对象三大特性之【多态性】
  2. Ubuntu16.04安装catkin
  3. catkin/cmakelist中文版
  4. catkin cmake
  5. 8万Star,这个开源项目有点强
  6. Tor源码 -- core分析
  7. 德鼎创新基金合伙人王岳华加盟SmartMesh生态
  8. java ganglia_Ganglia文档(一)
  9. c语言学习指南app,C语言学习指南下载-C语言学习指南 v1.0.0_手机乐园
  10. SpringSecurity(一)整体概述