zoukankan      html  css  js  c++  java
  • 问题:oracle long 与 clob;结果:long类型比clob到底差在什么地方?

    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的更好的读取方法,欢迎指正交流

  • 相关阅读:
    MySql索引
    HashMap 底层解析
    https超文本安全传输协议
    多线程
    过滤器和拦截器
    计算机操作系统
    计算机网络
    java线程内存模型JMM
    jvm
    数据库
  • 原文地址:https://www.cnblogs.com/longphui/p/4776264.html
Copyright © 2011-2022 走看看