空与非空 EMPTY_LOB和NULL的区别

编辑手记:

EMPTY_LOB与NULL在字面意思上看起来差不多,但实际上,它们却有天壤之别。

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

包含触发器的LOB表执行IMP导致EMPTY_LOB变为空:

http://yangtingkun.itpub.net/post/468/495024

说实话,二者其实差别还是相当大的。

一个表示的未知,另一个表示的空的大对象。需要注意空的大对象并不是空的概念:

使用IS NULL作为条件进行判断,EMPTY_LOB是查询不到的。

利用DBMS_LOB.GETLENGTH也可以看出二者的区别:

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

二者最大的区别在于:

EMPTY_LOB虽然没有LOB的内容,但是已经做好了插入LOB内容的准备,用户获取到LOB的头信息后就可以直接插入数据了。

而对于NULL来说,显然是不能直接修改的。

热文回顾

Standby Redo Logs 在线重定义 表分区

论DBA的自我修养 MySQL MGR与Galera性能测试

MySQL连接错误 Docker技术

原文发布于微信公众号 - 数据和云(OraNews)

原文发表时间:2017-08-29

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏linux驱动个人学习

alsa声卡分析alsa-utils调用过程(一)-tinyplay

如何分析tinyplay 播放音频和tinymix的过程?需要相应的工具来支持追查; 一、分析tinyplay和tinymix: 1.1 利用strace工具:...

4564
来自专栏Java架构解析

深入理解Java中的底层阻塞原理及实现

Information Technology Solutions as a Presentation

380
来自专栏我是攻城师

ElasticSearch之Java Api聚合分组实战

4206
来自专栏Laoqi's Linux运维专列

HP服务器Linux下hpacucli常用命令

3006
来自专栏Seebug漏洞平台

“盲”逆向:iOS 应用 Blind 寻踪

原文地址:《"BLIND" Reversing - A Look At The Blind iOS App》

3727
来自专栏人工智能LeadAI

实时Android语音对讲系统架构

本文属于Android局域网内的语音对讲项目(https://github.com/yhthu/intercom)系列,《通过UDP广播实现Android局域网...

1.1K4
来自专栏一个会写诗的程序员的博客

6.3 Spring Boot集成mongodb开发小结

本章我们通过SpringBoot集成mongodb,Java,Kotlin开发一个极简社区文章博客系统。

1643
来自专栏芋道源码1024

面试问烂的 Spring MVC 过程

来源:https://www.jianshu.com/p/e18fd44964eb

1343
来自专栏向治洪

Android 应用安装过程分析

在之前的文章中,我们对PakageManagerService启动流程分析 做了简单的介绍,并对PMS系统的启动流程做了详细的解析。上面只是说到了Android...

5999
来自专栏后端之路

跨域二三事之options请求

背景 今天小伙伴问了一个比较奇怪的问题 在某个子系统中通过跨域请求发现POST请求无法正常拿到cookie导致报错 我们从代码来分析一下原因 思路 最重要的永...

5838

扫码关注云+社区