zoukankan      html  css  js  c++  java
  • Oracle 中的大对象数据类型blob、clob、nclob的意义以及区别

    一、请问clob     和blob是什么意思?

    答:1,他们都是oracle数据库中的大对象数据类型,oracle提供专门的包对其操作。

               2,blob、clob、nclob     三种大型对象(LOB),用来保存较大的图形文件或带格式的文本文件,如Microsoft     Word文档,以及音频、视频等非文本文件,最大长度是4GB。   

               LOB有几种类型,取决于你使用的字节的类型,Oracle     8i实实在在地将这些数据存储在数据库内部保存。   
         可以执行读取、存储、写入等特殊操作   
         
              CLOB(Character     Large     Object)      用于存储对应于数据库定义的字符集的字符数据。(类似于long类型),常用于大文本的存储;   
         
               BLOB(Binary     Large     Object)     可用来存储无结构的二进制数据。(类似于row和long     row),常用于大图片的存储

    二、请问LOB的BLOB、CLOB、BFILE有什麽区别,都用在什麽情况?怎样操作?

    答:

    BLOB     ——内部二进制大对象。   
    CLOB    ——内部字符大对象。   
    NCLOB     ——内部定长多字节字符大对象。   
    BFILE     ——外部二进制文件。      
         LOB    由两部分组成:数据(值)和指向数据的指针(定位器)。尽管值与表自身一起存储,但是一个LOB 列并不包含值,仅有它的定位指针。更进一步,为了使用大对象,程序必须声 明定位器类型的本地变量。你将在本章后面见到P     L     /     S     Q     L     接口使用定位器如同操作系统的文件 处理一样。当LOB(除了BFILE    )被创建时,定位器被存放在列中,值被存放在LOB 段中,    LOB    段是在数据库内部表的一部分。当BFILE    被创建时,定位器如同平常一样存储在列中

    三、blob和clob最大是多少?还是没有最大限制?

    答:它们的最大上限就是4G,     Clob可以存储单字节字符数据,Blob可以存储无结构的二进制数据

    [附加]    不想另开一篇了,就加在这里了,一个关于SQL2000的问题
    sql2000中某字段长度不够为何会填上空格?

    答:sql2000 中char型是固定长度的,如固定长度为10,但是只录入了3个字符,那么剩下7位就要补充空格来填满。如果,你不想让他自动补充空格,可以选用 varchar型,这个是实际长度,也很好用,速度也快,PS:oracle中如果可以用varchar2的地方就不要用clob ,因为后者的速度确实不怎么好。

    来源:http://blog.163.com/wex660@126/blog/static/241530652011215429224/

  • 相关阅读:
    我的第一颗二叉链树的笔记
    我的kmp笔记
    链表操作笔记
    POJ 2559 Largest Rectangle in a Histogram (单调栈)
    牛客网 wyh的数列(循环节+快速幂)
    数论知识点
    牛客网 n的约数 (唯一分解定理)
    POJ 3783 Balls (DP)
    关于unordered_map和map
    2018年四校联合周赛-第二场 B.异或和问题(二维树状数组)
  • 原文地址:https://www.cnblogs.com/langtianya/p/2765774.html
Copyright © 2011-2022 走看看