raw型別的使用問題

2021-05-22 16:24:01 字數 971 閱讀 2174

問題的起源是一條sql語句執行時用不了索引

select * from  gms_ivc.ivc_stock_transaction  where transaction_id = '8ae587d11c2b178d011c2b254f912740'

計畫select statement, goal = all_rows   耗費=20036 基數=1 位元組=215 io 耗費=19932 cpu 耗費=1940229730 

partition range all   耗費=20036 基數=1 位元組=215 io 耗費=19932 cpu 耗費=1940229730 

table access full 物件所有者=gms_ivc 物件名稱=ivc_stock_transaction 耗費=20036 基數=1 位元組=215 io 耗費=19932 cpu 耗費=1940229730

執行了約40s左右才出記錄

後發現這種寫法是不正確的

應該新增函式如下

select * from  gms_ivc.ivc_stock_transaction  where transaction_id =hextoraw( '8ae587d11c2b178d011c2b254f912740')

計畫select statement, goal = all_rows   耗費=3 基數=1 位元組=215 io 耗費=3 cpu 耗費=23724 

table access by global index rowid 物件所有者=gms_ivc 物件名稱=ivc_stock_transaction 耗費=3 基數=1 位元組=215 io 耗費=3 cpu 耗費=23724 

index unique scan 物件所有者=gms_ivc 物件名稱=ivc_stock_transaction_pk 耗費=2 基數=1  io 耗費=2 cpu 耗費=15293 

能直接出資料

效能相差巨大

oracle中的Raw型別解釋

raw,類似於char,宣告方式raw l l為長度,以位元組為單位,作為資料庫列最大2000,作為變數最大32767位元組。long raw,類似於long,作為資料庫列最大儲存2g位元組的資料,作為變數最大32760位元組 建表操作 create table raw test id number...

Oracle中的Raw型別解釋

oracle中的raw型別解釋 raw,類似於char,宣告方式raw l l為長度,以位元組為單位,作為資料庫列最大2000,作為變數最大32767位元組。long raw,類似於long,作為資料庫列最大儲存2g位元組的資料,作為變數最大32760位元組 建表操作 create table ra...

RAW檔案的讀取

1.raw結構是純畫素資料檔案,裡面只有每個畫素的值,沒有檔案頭 調色盤等資料,所以要想正確顯示乙個raw檔案影象,必須人工指定它的長 寬和畫素深度。2.每個畫素根據格式不同占有不同的位元組,如8位256色每個畫素佔乙個位元組 24位真彩色每個畫素佔三個位元組。3.要自己寫,注意 1 函式要有此ra...