读书笔记:数据库的"记忆碎片"问题:为什么你的查询突然失忆了?
我们的文章会在微信公众号IT民工的龙马人生和博客网站( www.htz.pw )同步更新 ,欢迎关注收藏,也欢迎大家转载,但是请在文章开始地方标注文章出处,谢谢!
由于博客中有大量代码,通过页面浏览效果更佳。
本文为个人学习《Expert Oracle Database Architecture Techniques and Solutions for High Performance and Productivity(第四版本》一书过程中的笔记与理解分享,仅用于学习与交流,部分内容参考原书观点并结合>实际经验进行整理。若涉及版权问题,请联系删除或沟通处理。也请大家支持购买原版书籍。
Oracle数据库表类型全解析:找到最适合你的数据管家
大家好!今天我们来聊聊Oracle数据库中的各种表类型,就像挑选合适的收纳箱一样,不同的数据存储需求需要不同类型的"容器"。
基础款:堆组织表(Heap-organized tables)
特点:
- 就像你随手放东西的抽屉,数据随便放,有空位就塞
- 删除数据后空位可以重复利用
- 最普通也最常用的表类型
适用场景:绝大多数常规业务数据存储
整齐强迫症最爱:索引组织表(IOT)
特点:
- 像整理好的文件柜,所有数据按主键顺序排列
- 查询速度快,特别是按主键查找时
- 节省空间,数据和索引合二为一
适用场景:经常按主键查询的数据,如商品目录、用户信息等
打包存储:簇表(Clustered tables)
索引簇表
特点:
- 把相关联的表数据打包放在一起
- 比如订单和订单明细存在同一个数据块
- 关联查询时减少I/O操作
适用场景:经常需要关联查询的表,如订单和订单明细
哈希簇表
特点:
- 用哈希算法快速定位数据
- 适合精确查找,像直接通过ISBN找书
适用场景:经常需要等值查询的数据,如用户ID查找
临时工作区:临时表
特点:
- 像便签纸,会话结束就消失
- 不干扰正式数据
- 产生较少的日志,性能更好
适用场景:中间计算结果、临时数据处理
高级功能表
区块链表
特点:
- 只能新增不能修改
- 每笔记录都有数字签名
- 防篡改,可追溯
适用场景:需要审计追踪的重要数据,如金融交易
外部表
特点:
- 数据实际存在数据库外的文件里
- 像给外部文件装了个数据库接口
- 方便数据导入导出
适用场景:数据交换、ETL过程
选择表类型的几个考量因素
-
查询模式:经常怎么查这些数据?
- 按主键查 → IOT
- 多表关联 → 簇表
- 精确查找 → 哈希簇
-
数据量大小:大数据量要考虑分区
-
数据生命周期:临时数据用临时表
-
特殊需求:
- 需要防篡改 → 区块链表
- 要和其他系统交换 → 外部表
记住,没有最好的表类型,只有最适合的。就像收纳工具一样,关键看你要装什么、怎么用!
------------------作者介绍-----------------------
姓名:黄廷忠
现就职:Oracle中国高级服务团队
曾就职:OceanBase、云和恩墨、东方龙马等
电话、微信、QQ:18081072613
个人博客: (http://www.htz.pw)
CSDN地址: (https://blog.csdn.net/wwwhtzpw)
博客园地址: (https://www.cnblogs.com/www-htz-pw)

浙公网安备 33010602011771号