一、LOB数据类型的介绍

大对象(LOB)数据类型允许我们保存和操作非结构化和半结构化数据,如文档、图形图像、视频片段、声音文件和XML文件等。DMBS_LOB 包被设计用于操作 LOB 数据类型。从 Oracle 12c 开始,根据数据库块大小,LOB 最大可以存储 128TB 的数据,一个表可以有一个或多个 LOB 数据类型的列,如 二进制大对象(BLOB)、字符大对象(CLOB)、国家字符大对象(NCLOB)和BFILE。

重要的是,每当在表中创建 LOB 列时,实际上会创建两个不同的段: LOBSEGMENT 和 LOBINDEX。LOBINDEX 指向存储在对应 LOBSEGMENT 中的 LOB “大块(chunks)”(注:chunk 是一个或多个 Oracle 块。默认的 chunk 大小等于表空间的块大小,最大值是 32KB)。在某些情况下,LOB 可能存储为“内联(inline)”,即存储在表段内,但内联存储通常用于相当小(小于 4000 字节)或为 NULL 的 LOB 数据。在这种情况下,LOB 值将直接存储在表段内。

二、CLOB 、 BLOB、NCLOB和BFILE  之间的区别

BLOB(Binary Large Object):内部二进制大对象,可用来存储无结构的二进制数据。类似于row 和 long row,常用与大图片的存储。可存储的最大大小为 4G 字节。

CLOB(Character Large Object):内部字符大对象,用于存储对应于数据库定义的字符集的单字节字符的大型数据块,不支持宽度不等的字符集。类似于long类型,常用与大文本的存储。可存储的最大大小为 4G 字节。

NCLOB:国家语言字符集大对象,用于存储数据库中的固定宽度单字节或多字节字符的大型数据块,不支持宽度不等的字符集。可存储的最大大小为 4G 字节。

BFILE:外部二进制文件,当大型二进制对象的大小大于 4G 字节时,BFILE 数据类型用于将其存储在数据库外的操作系统文件中;当其大小不足 4G 字节时,则将其存储在数据库内部的操作系统文件中,BFILE 列存储文件定位程序,此定位程序指向服务器上的大型二进制文件。

  1. 它们都是 Oracle 数据库的大对象(LOB)数据类型,Oracle 提供专门的包对其操作。
  2. BLOB、CLOB、NCLOB 这三种大对象(LOB),用来保存较大的图形文件或带格式的文本文件,如 Microsoft Word 文档,以及音频、视频等非文本文件,最大长度是 4GB。

LOB 有几种类型,取决于您使用的字节的类型,Oracle 8i 实实在在地讲这些数据存储在数据库内部保存。可以执行读取、存储、写入等特殊操作。

三、参考网络上的其他分析(BLOB、CLOB和NCLOB之间的主要区别)

(1)指代不同

  • BLOB:是指图像中的一块连通区域,BLOB分析就是对前景/背景分离后的二值图像。
  • CLOB:是内置类型,将字符大对象(Character Large Object)存储为数据库表某一行中的一个列值。
  • NCLOB:长度可变的字符大对象。

(2)特点不同

  • BLOB:对运动目标在图像平面上的轨迹进行估计的问题。
  • CLOB:CLOB对象包含一个指向 SQL CLOB 数据的逻辑指针而不是数据本身。CLOB对象在被创建的事务处理期间有效。
  • NCLOB:大小可变的CLOB对象,指向 SQL CLOB 数据的逻辑指针。

(3)数据保存方式不同

  • BLOB:使用二进制保存数据。
  • CLOB:使用 CHAR 来保存数据。
  • NCLOB:使用 NCHAR 来保存数据。

Oracle数据库中的大对象(LOB)数据类型介绍的更多相关文章

  1. Oracle数据库中的重要对象

    数据库中的重要对象:表.视图.序列.函数.存储过程.索引.同义词1.表:用PL/SQL Developer 软件打开 Scott的DEPT表查看SQL,可以看见DEPT表创建的脚本-- Create ...

  2. Mysql 数据库中9大对象

    MySql 数据库9中对象1.表2.索引3.视图4.图表:数据库表之间的关系视图,并不常用5.规则6.缺省值:数据列的默认值7.触发器8.存储过程9.用户

  3. Oracle数据库中实现mysql数据库中auto-increment功能

    在Mysql数据库中,想要实现一条数据的自增一功能(即插入此数据时填写null即可,系统自动+1),可直接在所在列使用语句auto-increment. id int primary key auto ...

  4. 详解大数据采集引擎之Sqoop&采集oracle数据库中的数据

    一.Sqoop的简介: Sqoop是一个数据采集引擎/数据交换引擎,采集关系型数据库(RDBMS)中的数据,主要用于在RDBMS与HDFS/Hive/HBase之间进行数据传递,可以通过sqoop i ...

  5. Statement和PreparedStatement的特点 MySQL数据库分页 存取大对象 批处理 获取数据库主键值

    1 Statement和PreparedStatement的特点   a)对于创建和删除表或数据库,我们可以使用executeUpdate(),该方法返回0,表示未影向表中任何记录   b)对于创建和 ...

  6. ORACLE数据库中执行计划出现INTERNAL_FUNCTION一定是隐式转换吗?

    ORACLE数据库中,我们会使用一些SQL语句找出存在隐式转换的问题SQL,其中网上流传的一个SQL语句如下,查询V$SQL_PLAN的字段FILTER_PREDICATES中是否存在INTERNAL ...

  7. Oracle数据库中调用Java类开发存储过程、函数的方法

    Oracle数据库中调用Java类开发存储过程.函数的方法 时间:2014年12月24日  浏览:5538次 oracle数据库的开发非常灵活,不仅支持最基本的SQL,而且还提供了独有的PL/SQL, ...

  8. 查找Oracle数据库中的重复记录

    本文介绍了几种快速查找ORACLE数据库中的重复记录的方法. 下面以表table_name为例,介绍三种不同的方法来确定库表中重复的记录 方法1:利用分组函数查找表中的重复行:按照某个字段分组,找出行 ...

  9. oracle 数据库中(创建、解锁、授权、删除)用户

    上文我们已经建立了名为orcl66的数据库. 想要在数据库中创建.修改用户需要我们以管理员权限登录到数据库中. 首先我们通过sqlplus命令登录连接数据库. 输入sqlplus命令--用户名: sy ...

随机推荐

  1. 使用Vagrant 后发现虚拟机磁盘空间爆满的血泪填坑记

      现象:  用了几天vagrant后,发现docker 里的 Mysql5.7 服务无法启动,用docker ps 命令,发现mysql一直在反复重启, 查看mysql log 发现说磁盘空间不够, ...

  2. 【Oracle/Sql】清除重复而带出的性能问题

    笔者使用的环境: # 类别 版本 1 操作系统 Win10 2 数据库 Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bi ...

  3. Java清空一个指定文件

    清空test.log文件所有内容 File log = new File("c:\\test\\test.log"); FileWriter fileWriter =new Fil ...

  4. boot 项目启动报Cannot datermine embedded database driver class for database type NONE

    部署boot项目时报Cannot datermine embedded database driver class for database type NONE数据库链接什么的也都没有问题,经过百度 ...

  5. CTF资源

    WINDOWS 逆向工程师技能表 https://www.sec-wiki.com/skill/6 Software-Security-Learning https://chybeta.github. ...

  6. python应用 曲线拟合 02

    前情提要 CsI 闪烁体晶体+PD+前放输出信号满足: $U(t) = \frac{N_f\tau_p}{\tau_p-\tau_f} \left[ e^{-\frac{t}{\tau_p}}-e^{ ...

  7. go http请求流程分析

    前言 golang作为常驻进程, 请求第三方服务或者资源(http, mysql, redis等)完毕后, 需要手动关闭连接, 否则连接会一直存在; 连接池是用来管理连接的, 请求之前从连接池里获取连 ...

  8. Android 重构方案

    前言 最近面试了很多候选人,发现很多同学在简历上都写得非常厉害,负责架构设计,项目重构之类的.但是问起来,很多人都说不出个所以然来.今天我们不谈架构设计,我们聊一下重构.我面试时候经常会问,你是怎么重 ...

  9. 尤雨溪:TypeScript不会取代JavaScript

    来源 |evrone.com译者 | 核子可乐策划 | 蔡芳芳 近日,Evrone 与 Vue.js 的作者尤雨溪进行了一次访谈,了解他对于无后端与全栈方法.以及 Vue.js 适用场景的看法,还有他 ...

  10. WinDbg排查CPU高的问题

    一.概述 在Window服务器部署程序后,可能因为代码的不合理或者其他各种各样的问题,会导致CPU暴增,甚至达到100%等情况,严重危及到服务器的稳定以及系统稳定,但是一般来说对于已发布的程序,没法即 ...