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

news/2025/11/14 15:15:43/文章来源:https://www.cnblogs.com/www-htz-pw/p/19222191

我们的文章会在微信公众号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.mzph.cn/news/965434.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025年北京雅思培训机构哪家强,高分提分 / 定制课程 / 封闭集训 / 小班教学 / 全程督学机构推荐哪家好

2025年北京雅思培训机构哪家强,高分提分 / 定制课程 / 封闭集训 / 小班教学 / 全程督学机构推荐哪家好Posted on 2025-11-14 15:12 打不死的小强996 阅读(0) 评论(0) 收藏 举报随着留学申请热度持续攀升,雅思成…

LuatOS exgnss扩展库应用精讲:GNSS调试与优化实战全景!

GNSS调试常因坐标偏差或信号问题困扰开发者。本文聚焦LuatOS exgnss库的实战应用,以iNavTool工具为辅助,全景展示参数配置、激活状态查询(exgnss.is_active)、多模式关闭(exgnss.close_all)等流程,并深入探讨国…

当下高压氧舱机构的行业现状

摘要 高压氧舱行业近年来快速发展,得益于健康意识提升和科技创新,市场规模持续扩大。本文基于权威数据和分析,排名2025年高压氧舱机构TOP10,为读者提供参考。排名综合考虑技术领先性、用户口碑和服务效果,旨在帮助…

Keycloak会话标识符重用漏洞导致会话劫持风险分析

本文详细分析了Keycloak身份认证系统中的安全漏洞CVE-2025-12390,该漏洞由于会话标识符重用和登出时清理不彻底,可能导致会话被劫持,一个用户意外获取另一个用户的访问令牌。Keycloak vulnerable to session takeov…

B5817W-ASEMI可直接替换安世PMEG2005EH

B5817W-ASEMI可直接替换安世PMEG2005EH编辑:ll B5817W-ASEMI可直接替换安世PMEG2005EH ASEMI首芯半导体可替代安氏半导体功率器件 型号:B5817W 品牌:ASEMI 封装:SOD-123 特性:肖特基二极管 正向电流:1A 反向耐压…

2025年国内废气废液焚烧厂家综合实力Top5权威评测

摘要 随着环保政策的日益严格,废气废液焚烧处理行业在2025年迎来快速发展期。本文基于行业数据和技术参数,对当前市场上主流废气废液焚烧厂家进行综合评测,为有采购需求的企业提供参考依据。文末附有详细咨询表单,…

2025年有实力的平移门公司推荐排行榜

摘要 平移门行业在2025年持续快速发展,智能化和安全化成为主流趋势,广泛应用于商业、工业和公共设施领域。本文基于市场调研和用户反馈,整理了当前市面上优秀的平移门服务商排名,并提供详细榜单供参考。榜单旨在帮…

4.2.3 疲劳强度试验 11.14

1. 计算方法 疲劳强度试验也称作疲劳极限试验、强度试验或响应试验,其目标是预估在给定高周疲劳寿命条件下疲劳强度的统计分布。在众多疲劳强度试验方法中,阶梯法(通常被称为上下法)是一种最常用的方法,已被许多…

[LangChain] 17. Memory基础

大模型本身是无状态的,每次调用都只看当前输入。如果要在多轮对话中维持上下文,就需要 Memory 模块来存储和管理对话历史。 LangChain.js 针对 Memory 提供了多个工具类,先来学习最常用的 ChatMessageHistory 快速上…

Java Exchanger

Java Exchanger Exchanger 是 JDK 1.5 起提供的并发工具类,主要用于两个工作线程之间交换数据,兼具特定的同步特性与应用场景。 核心特性对外操作是同步的,确保线程间数据交换的有序性。 专门用于成对出现的线程之间…

2025 最新净化工程厂家推荐排行榜 实验室 / 手术室 / 医药 / 食品 / 厂房洁净工程优质服务商医药/食品净化工程/净化车间工程公司推荐

引言 在医疗健康、生物制药、电子制造等核心领域的高速发展驱动下,净化工程已成为保障生产研发环境安全的核心基础设施,市场需求持续攀升。据国际洁净室与相关受控环境协会(ICCCS)最新测评数据显示,全球合格净化工…

通配符优化 dp 学习笔记

闵可夫斯基和 优化 dp \(\left( \min/\max,+\right)\) 卷积 形如: \[f_i=\max ^i_{j=0}/\min ^i_{j=0} {g_j+h_{i-j}} \]的式子被称为 \(\left( \min/\max,+\right)\) 卷积。 闵可夫斯基和 以 \(\min\) 为例,要求 \(…

2025年尖角方管实力厂家权威推荐榜单:玻璃幕墙精致钢/直角方矩管/精制钢源头厂家精选

在高端幕墙与精密制造领域,尖角方管凭借其精准的直角轮廓和卓越的结构性能,已成为实现现代建筑美学与安全的关键材料。 根据行业调研数据,2025年全球精制钢市场规模预计将保持稳定增长,其中幕墙用精制钢的年复合增…

20232308 2025-2026-1 《网络与系统攻防技术》实验五实验报告

1.实验内容 1.1本周学习内容 网络信息搜集 网络踩点 网络扫描 网络查点 1.2实验目标 (1)从www.besti.edu.cn、baidu.com、sina.com.cn中选择一个DNS域名进行查询,获取如下信息: DNS注册人及联系方式 该域名对应IP地…

TurboWarp 部署云变量服务

从GitHub下载cloud-server代码https://github.com/TurboWarp/cloud-serverg 根据README文档部署云变量服务 cloud-server‌是一个为Scratch 3设计的云数据服务器,被forkphorus和TurboWarp使用。 它使用的协议与Scrat…

Java 信号量机制实现

Java 信号量机制实现 信号量 Semaphore 信号量可限制访问共享资源的线程数。线程访问资源前需从信号量获取许可,访问结束后需将许可归还信号量。场景介绍 一个停车场只有5个车位,现有100辆车争抢这5个车位。理想情况…

习题解析之:字母查找

习题解析之:字母查找【问题描述】 定义一个函数来判断单词m是否可以由字符串n中出现的字母来组成。本题保证字符串中出现的字母均为小写字母,且不考虑n中的字母使用次数。在两行中分别输入两个字符串m,n如果输入的m包…

lc:338练习的一点思考

public int[] CountBits(int n) { int[] res = new int[n + 1]; for (int i = 0; i <= n; i++) { res[i] = CountOnesWithBitOperation(i); } return res; } …

京东商品评论接口深度逆向:从加密参数破解到情感倾向分析

京东商品评论接口因涉及用户行为数据,其反爬机制比商品详情、搜索接口更为严格,不仅采用多层参数加密,还引入了基于用户行为轨迹的动态验证。本文将突破传统的单一接口模拟思路,通过逆向评论加载的完整链路,实现评…

JSC2023 Max Degree Sum

并查集+贪心维护边权超小的动态 MST显然有一个暴力是按 \([u_i\leq k]+[v_i\leq k]\) 为边权跑最大生成树,但是看起来不是很好维护的样子。 发现我们只需要考虑当前边权为 \(1\) 或 \(2\) 的边。于是最多我们只需要考…