oracle中long和clob的区别以及性能问题?

本文探讨了long类型与CLOB在Oracle数据库中的存储原理区别,包括限制、性能对比(如行链接影响、数据获取方式)、存储空间和适用场景变迁。作者指出尽管long有其局限,但在特定情况下仍被使用,但CLOB因其优势逐渐替代。
摘要由CSDN通过智能技术生成

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的官方文档,所以不保证正确性,仅供参考。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值