当前位置: 首页 > news >正文

读书笔记:为什么数据库存储LOB数据时要选择「行内存储」?

我们的文章会在微信公众号IT民工的龙马人生和博客网站( www.htz.pw )同步更新 ,欢迎关注收藏,也欢迎大家转载,但是请在文章开始地方标注文章出处,谢谢!
由于博客中有大量代码,通过页面浏览效果更佳。

本文为个人学习《Expert Oracle Database Architecture Techniques and Solutions for High Performance and Productivity(第四版本》一书过程中的笔记与理解分享,仅用于学习与交流,部分内容参考原书观点并结合>实际经验进行整理。若涉及版权问题,请联系删除或沟通处理。也请大家支持购买原版书籍。

为什么数据库存储LOB数据时要选择「行内存储」?

在数据库设计中,我们经常会存储大型对象数据(LOB),比如长文本、图片或文件。Oracle数据库提供了两种存储LOB的方式:行内存储行外存储。这篇文章会用通俗的语言解释它们的区别,并告诉你为什么在大多数情况下应该选择行内存储。


什么是行内存储和行外存储?

想象一下,数据库中的一张表就像一个Excel表格。每个单元格通常只能放少量数据(比如4000字节以内)。但如果某个单元格需要存储更长的内容(比如一篇文章),数据库就会面临选择:

  1. 行内存储 (ENABLE STORAGE IN ROW)

    • 如果内容不长(≤4000字节),就直接存在单元格里。
    • 就像在Excel单元格里直接写短文,查看时一目了然,速度快。
    • 如果内容超长,数据库会自动把它移到单独的存储区域(LOBSEGMENT)。
  2. 行外存储 (DISABLE STORAGE IN ROW)

    • 无论内容多短,都强制存到单独的存储区域。
    • 就像在Excel单元格里只写一个“附件链接”,每次查看都要点开链接才能看到内容,速度更慢。

为什么行内存储通常是更好的选择?

  1. 性能更快

    • 短数据直接存在表中,读取时不需要额外跳转到其他区域,减少了I/O操作。
    • 实验表明,读取行内存储的LOB比行外存储快得多(逻辑I/O次数从5.4万次降到0次,物理I/O也更少)。
  2. 减少资源消耗

    • 行外存储需要维护额外的索引(LOBINDEX)和存储段(LOBSEGMENT),更新和插入操作会更耗时。
    • 行内存储避免了这些开销,尤其适合频繁读写短文本的场景(比如商品描述、用户备注等)。
  3. 利用缓存优势

    • 表数据通常会被缓存到内存中,而LOBSEGMENT默认不缓存。
    • 行内存储的短LOB可以享受缓存带来的速度提升,而行外存储每次可能都需要磁盘读写。

什么时候用行外存储?

虽然行内存储是默认推荐,但以下情况可能适合行外存储:

  • LOB数据通常很大(比如超过4000字节),放表内反而浪费空间。
  • 数据不需要频繁读取,或者对读取速度不敏感。
  • 有独立缓存LOB数据的特殊需求(但需要额外配置)。

实际例子说明

假设我们有一张表存储文章内容,其中多数文章是短评(<4000字节),少数是长文。

  • 如果使用行内存储:短评直接存在表里,读取飞快;长文自动移到外部,不影响效率。
  • 如果强制行外存储:即使短评也要额外访问外部存储,效率低下。

总结

  • 优先选择行内存储ENABLE STORAGE IN ROW),这是Oracle的默认设置。
  • 它兼顾了短数据的高效和长数据的灵活性,适合大多数场景。
  • 只有在明确需要强制分离LOB数据时,才考虑行外存储。

简单来说:让数据库自动决定小数据放表内、大数据放外部,才是最优解!

------------------作者介绍-----------------------
姓名:黄廷忠
个人博客: (http://www.htz.pw)
CSDN地址: (https://blog.csdn.net/wwwhtzpw)
博客园地址: (https://www.cnblogs.com/www-htz-pw)

http://www.rkmt.cn/news/49560.html

相关文章:

  • LuatOS exgnss扩展库应用精讲:GNSS调试与优化实战全景!
  • 2025年北京雅思培训机构哪家强,高分提分 / 定制课程 / 封闭集训 / 小班教学 / 全程督学机构推荐哪家好
  • Keycloak会话标识符重用漏洞导致会话劫持风险分析
  • 2025 最新净化工程厂家推荐排行榜 实验室 / 手术室 / 医药 / 食品 / 厂房洁净工程优质服务商医药/食品净化工程/净化车间工程公司推荐
  • TurboWarp 部署云变量服务
  • JSC2023 Max Degree Sum
  • 2025年燃生物质有机热载体锅炉生产厂家权威推荐榜单:燃生物质热水锅炉/生物质专用锅炉/生物质热水锅炉源头厂家精选
  • 在线文档大全
  • AI大事记12:Transformer 架构——重塑 NLP 的革命性技能(下)
  • 字的bi-gram可能是个馊主意
  • Proxmox VE9.0优化-功耗切换到智能模式
  • KMPlayer下载教程(2025新版)——全功能安装配置与使用经验详解
  • 安卓非原创--基于Android Studio 实现的天气预报App - 教程
  • 2025年全屋定制橱柜优质厂家权威推荐榜单:全屋定制门窗/高端整装定制/整装全屋定制源头厂家精选
  • 2025 最新多孔筋增强管生产线厂家权威推荐:国际测评认证 + 技术创新双驱,全周期服务优选榜单缠绕管承插口生产线 / 承插口注塑设备生产线公司推荐
  • 2025年简易激光切管机供应商权威推荐榜单:高速激光切管机/拉料式激光切管机/迷你激光切管机设备源头厂家精选
  • 2025年东莞东城搬家公司权威推荐榜单:同城搬运/长安搬家/本地搬家源头公司精选
  • 2025 年 11 月高尔夫学院最新推荐榜单,高尔夫培训,高尔夫教学,高尔夫教练,专业指导与课程体验深度解析
  • 国产替代——HT-ADC-10-1R+成都恒利泰定向耦合器,完美替代 ADC-10-1R+!
  • 接口测试太繁琐?用Dify工作流串联CI/CD,一键完成回归验证
  • 打造智能测试闭环:ReAct范式实战解析与LangGraph落地操作
  • 2025 年最新沈阳卷帘门厂家排名、卷帘门厂家排行榜,沈阳车库门工厂、沈阳伸缩门厂家排名、快速门生产厂家排行,沈阳鼎盛和
  • 2025年画册设计公司权威推荐榜单:行业前十强深度解析
  • CDN与域名ICP备案的关系浅谈
  • 详细介绍:Linux----权限
  • 2025年加粗鸽笼生产厂家权威推荐榜单:三层鸽笼/繁殖鸽笼/广式鸽笼源头厂家精选
  • 2025年导向臂疲劳试验机定制厂家权威推荐榜单:电动疲劳试验机/封隔器疲劳试验机/疲劳检测设备源头厂家精选
  • 用Python实现数字识别的简单AI应用
  • CATIA 转换为 3DXML 全流程:迪威模型网在线转换和本地方转换方法指南 - 指南
  • Gitee Team:国产软件研发智能化转型的破局者