空与非空 EMPTY_LOB和NULL的区别

简介:

前不久写过一篇文章,描述如果表包含了触发器,在通过IMP导入数据的时候,原本的EMPTY_LOB将被转化为NULL。有朋友在文章的回复中问,EMPTY_LOB和NULL的区别,这里就简单描述一下。

包含触发器的LOB表执行IMP导致EMPTY_LOB变为空:
http://yangtingkun.itpub.net/post/468/495024

说实话,二者其实差别还是相当大的。
一个表示的未知,另一个表示的空的大对象。需要注意空的大对象并不是空的概念:

image


使用IS NULL作为条件进行判断,EMPTY_LOB是查询不到的。
利用DBMS_LOB.GETLENGTH也可以看出二者的区别:


image

image


虽然EMPTY_LOB没有包含LOB内容,但是LOB头信息已经存在,因此需要占用不小的空间。

二者最大的区别在于:
EMPTY_LOB虽然没有LOB的内容,但是已经做好了插入LOB内容的准备,用户获取到LOB的头信息后就可以直接插入数据了。
而对于NULL来说,显然是不能直接修改的。


image

image


来源:数据和云

相关文章
|
7月前
|
JavaScript
JS中Null和Undefined的区别及用法
JS中Null和Undefined的区别及用法
85 1
|
7月前
|
JavaScript 前端开发 算法
undefined与null的区别
在JavaScript中,undefined和null都表示变量未被赋值或值缺失,但它们在使用场景上有一些区别。 - **`语义不同`**:undefined表示一个变量未被赋值或者声明后未进行初始化。而null表示一个变量被明确地设置为无值或者表示空值的概念。 - **`类型不同`**:undefined是一种基本数据类型,而null是一个引用类型。 - **`条件判断`**:在条件判断中,使用if (variable === undefined)或者if (variable === null)可以进行区分。
|
编译器 C语言 C++
再谈NULL和nullptr(C++11)区别
在谈NULL和nullptr区别之前,我们先看段代码:
135 0
|
5月前
|
存储 C++ Cloud Native
云原生部署问题之C++ 中的 nullptr 和 NULL 区别如何解决
云原生部署问题之C++ 中的 nullptr 和 NULL 区别如何解决
65 0
|
3月前
|
存储 JavaScript 前端开发
|
5月前
|
Unix Linux Shell
nohup 与 >/dev/null 与 2>&1 作用与区别
nohup 与 >/dev/null 与 2>&1 作用与区别
256 0
|
6月前
|
JavaScript 前端开发
null、未定义或未声明的变量之间有什么区别
null、未定义或未声明的变量之间有什么区别
|
7月前
|
前端开发 JavaScript
【Web 前端】undefined 和 null 区别?
【4月更文挑战第22天】【Web 前端】undefined 和 null 区别?
【Web 前端】undefined 和 null 区别?
|
7月前
|
C语言
C语言(9)----NULL、null(或者NUL)、\0、0、‘0’几者之间的区别
C语言(9)----NULL、null(或者NUL)、\0、0、‘0’几者之间的区别
149 0
|
存储 关系型数据库 MySQL
MySQL数据库的表中 NULL 和 空值 到底有什么区别呢?
一篇短文让你明白MySQL数据库的表中 NULL 和 空值之间的区别!
4953 0
MySQL数据库的表中 NULL 和 空值 到底有什么区别呢?