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/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM