long型別與clob型別的區別

2021-08-30 07:42:20 字數 737 閱讀 8347

差別還是很大的,

比如:對於long的表a,不能create table b as select * from a;

但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和Clob型別的區別與用法

blob和clob都是大字段型別,blob是按二進位制來儲存的,而clob是可以直接儲存文字的。其實兩個是可以互換的的,或者可以直接用lob欄位代替這兩個。但是為了更好的管理oracle資料庫,通常像 檔案 等資訊就用blob欄位來儲存,先將檔案轉為二進位制再儲存進去。而像文章或者是較長的文字,就用...

long與int型別轉換

由int型別bai轉換為long型別是du向上轉換,可以直接進行隱zhi式轉換,但由long型別dao轉換為int型別是向下轉zhuan換,可能會出現數shu據溢位情況 主要以下幾種轉換方法,供參考 一 強制型別轉換 long ll 300000 int ii int ll 二 呼叫intvalue...

讀取long型別資料

create or replace function long to char utable in varchar2,uid in number return varchar2 as uval varchar2 32767 begin select data default into uval fr...