long类型比clob到底差在什经常看到9i以上的文档,说以后
clob会逐步取代long,一直想不出,
而我在8.1.7上也测试2个字段好像
在存储上也看不出什么区别?么地方?

差别还是很大的,
比如:对于long的表a,不能create table b as select * from a;
但clob则可以..................

谢谢,版主。
对于long的用法的确比clob作出了很多的限制。
再问下版主,他们存储上有什么区别?

lob可以存储在单独的表空间上

long已经过时了,换成blob或clob吧
存储占用空间大,容易造成热点,一些操作在long上实现 不了...

一个表中只能有一个LONG,但可以有多个LOB我想这是主要区别吧

clob最长可以4G,long是2G

存储方式当然不同了,LONG是把值真正存在记录上的,而CLOB只是在记录上存一个指针。LONG值存在记录上,行链接和行迁移就是不可避免的,这种情况多了,很影响速度的。

当然,long及long raw类型相对于CLOB和BLOB来说有诸多限制,但也并不是一无是处,否则Oracle也不会在10g里还支持long及long raw

偶从开发的角度开看,要从服务器取得相同的数据,long raw是直接取回到客户端内存中,而BLOB需要先取回一个reference,然后用这个reference去服务器端取数据,也就是说BLOB需要比long raw多一倍的round trip。

另外,long raw可以用数组方式绑定,以批量形式取回客户端,而BLOB虽然也可以用数组方式绑定,不过批量形式取回客户端的是reference,还需要根据reference去服务器端一个一个地取数据。

正是因为上面两个原因,导致BLOB的性能与long raw 的性能有较大的差距。

这些结论是偶的一些感觉,并没有见到Oracle的官方文档,所以不保证正确性,仅供参考。

如果各位有针对blob的更好的读取方法,欢迎指正交流

问题:oracle long 与 clob;结果:long类型比clob到底差在什么地方?的更多相关文章

  1. oracle如何向空表中添加一个类型为clob的非空列

    一般的添加非空列的步骤是:先add可以为空的列,然后update该列为一个值(比如0),最后modify该列的类型 但是遇到类型为clob的就不行了.在modify这步时报错:ORA-22296:in ...

  2. ORA-22858: 数据类型的变更无效 varchar2类型转换为clob类型

    今天遇到varchar2类型数据不够大,需改为clob类型.Oracle中,如果一个列的类型为varchar2,那么它不能直接转换为clob类型.可以通过间接的方式来修改. 就是把原来的字段删掉,重新 ...

  3. 基于PLSQL的数据库备份方法及如何解决导出clob和blob类型数据报错的问题

    基于PL/SQL的数据库备份方法 PL/SQL Developer是Oracle 数据库中用于导入或导出数据库的主要工具,本文主要介绍了利用PL/SQL Developer导入和导出数据库的过程,并对 ...

  4. Spring 让 LOB 数据操作变得简单易行,LOB 代表大对象数据,包括 BLOB 和 CLOB 两种类型

    转自:https://www.ibm.com/developerworks/cn/java/j-lo-spring-lob/index.html 概述 LOB 代表大对象数据,包括 BLOB 和 CL ...

  5. .Net程序员学用Oracle系列(26):PLSQL 之类型、变量和结构

    1.类型 1.1.属性类型 1.2.记录类型 2.变量 2.1.变量类型 2.2.变量定义 2.3.变量赋值 3.结构 3.1.顺序结构 3.2.选择结构 3.3.循环结构 4.总结 1.类型 在&l ...

  6. java 实现往oracle存储过程中传递array数组类型的参数

    注:本文来源于 <  java 实现往oracle存储过程中传递array数组类型的参数  >最近项目中遇到通过往存储过程传递数组参数的问题, 浪费了N多个小时,终于有点头绪. 具体的代码 ...

  7. Oracle使用SQL语句修改字段类型

    Oracle使用SQL语句修改字段类型 1.如果表中没有数据 Sql代码 1 2 3 alter table 表名 modify (字段名1 类型,字段名2 类型,字段名3 类型.....)  alt ...

  8. 【转】四、可空类型Nullable<T>到底是什么鬼

    [转]四.可空类型Nullable<T>到底是什么鬼 值类型为什么不可以为空 首先我们都知道引用类型默认值都是null,而值类型的默认值都有非null. 为什么引用类型可以为空?因为引用类 ...

  9. oracle中select clob的返回类型

    当select的字段是clob类型的数据时,但是数据长度在2000字节到4000字节时,默认转为long类型. 所以当用insert into select的时候,预期插入的是clob类型,但是报or ...

随机推荐

  1. form组件的总结

    1.form组件(******) 局部钩子 全局钩子 ''' 实例化时: self.fields={ "username":"字段规则对象", "pa ...

  2. Redis 创建多个端口

    默认的是6379 可以用6380,6381开启多个 1.开启 ./redis-server ../etc/redis.6380.conf & 2.链接 redis-cli -p 6380 查看 ...

  3. js中介者模式

    中介者模式(Mediator),用一个中介者对象来封装一系列对象交互.中介者使各对象不需要显示地相互引用,从而使其松散,而且可以独立地改变它们之间的交互. 从生活中例子自然知道,中介者模式设计两个具体 ...

  4. tensorflow笔记:多层CNN代码分析

    tensorflow笔记系列: (一) tensorflow笔记:流程,概念和简单代码注释 (二) tensorflow笔记:多层CNN代码分析 (三) tensorflow笔记:多层LSTM代码分析 ...

  5. struts2常见配置解决错误There is no mapped for namespace[/] and action name

    我碰到这个错误的原因是我把配置文件名写成了Struts.xml,改成struts.xml就可以了. 在确定struts.xml本身并没有写错的情况下,那么发生错误有可能是路径,配置文件名. 如果实在找 ...

  6. ActiveMQ 的客户端选项

    本章重点 怎么使用独占式消费者 消息分组的威力 理解流和二进制大对象 容错传输 计划消息分发 简介 上一章我们介绍了 ActiveMQ 的代理特性,本章我们将学习 ActiveMQ 客户端的一些高级特 ...

  7. redis.h

    [对象] typedef struct redisObject {     unsigned type:4;[REDIS_STRING,REDIS_LIST, HASH, SET, ZSET]     ...

  8. 如何手动添加 WIFI 网络步骤

    电脑手动添加WiFi网络步骤: 1.右键控制面板 2.进入控制面板 3.进入网络和Internet,点击设置新的连接或网络 4.点击手动连接到无线网络 5.输入网络SSID及秘钥 若需要自动连接请勾选 ...

  9. MySQL 基础数据类型优化(如何选择数据类型)

    前言:      最近在看高性能 MySQL,记录写学习笔记:           高性能 MySQL 学习笔记(二) Schema与数据类型优化      笔记核心内容:MySQL 如何选择正确的数 ...

  10. UnityGUI扩展实例:图片挖洞效果 Mask的反向实现

    转载自 https://www.taidous.com/forum.php?mod=viewthread&fid=211&tid=55259 我想大家在用uGUI做界面时,可能经常会碰 ...