[20191012]組成rowid.txt
[20191012]組成rowid.txt
--//昨天做了拆分rowid的測試,連結http://blog.itpub.net/267265/viewspace-2659613/=>[20191011]拆分rowid 2.txt
--//今天測試透過 data_object_id , file ,; block , row 組成rowid的指令碼.
--//Rowid 格式為:OOOOOOFFFBBBBBBRRR, data_object_id佔6個字元,file佔3個字元,block佔6個字元,row佔3個字元。當然如果存在在
--//儲存中佔用10個位元組(32bit data_object_id +10 bit rfile# +22bit block + row 16bit)。
--//其中,O是物件ID,F是檔案ID,B是塊ID,R是行ID。
--//當然在普通索引中僅僅佔6位元組(注沒有32bit data_object_id少4個位元組,因為全部data_object_id都是一樣的)。
--//分割槽表的全域性索引中佔10位元組。
1.簡單說明:
Rowid採用64位進位制編碼,編碼如下:
A-Z <==> 0 - 25 (26)
a-z <==> 26 - 51 (26)
0-9 <==> 52 - 61 (10)
+/ <==> 62 - 63 (2)
--//組成rowid,在oracle下透過執行:
SYS@test> select dbms_rowid.rowid_create(1,28035,11,195,62) from dual;
DBMS_ROWID.ROWID_C
------------------
AAAG2DAALAAAADDAA+
--//第一個引數1指建立extended ROWID.
2.測試:
$ ./crrowid.sh 28035,11,195,62
rowid = AAAG2DAALAAAADDAA+
--//完成能與前面測試對上.
3.指令碼如下:
$ cat crrowid.sh
#! /bin/bash
# data_object_id , file ,; block , row --> rowid
odebug=${ODEBUG:-0}
O_BASE64=($( echo {A..Z} {a..z} {0..9} + / ))
if [ $odebug -eq 1 ] ; then
echo "ORACLE_BASE64 = ${O_BASE64[*]} "
fi
len=(6 3 6 3)
a=0
res=''
for i in $( echo "$*" | tr ',' ' ')
do
# echo $i
result=''
b=${len[$a]}
for j in $(echo "obase=64; $i" | bc| tr -d '\\\r\n')
do
result=${result}${O_BASE64[$(( 10#$j ))]}
done
res=${res}$(printf "%${b}s" $result | tr " " "A")
(( a++ ))
done
echo "rowid = $res"
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-2659790/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- №20191012◆手遊1~8◆
- Linux組成Linux
- AUTOCAD——成組命令
- 計算機組成與體系結構-CPU組成計算機
- [20191012]使用bash從sql_id計算hash_value.txtSQL
- 在計算機組成原理中x,計算機組成原理計算機
- 程式的定義、組成、組織方式、特徵特徵
- 計算機組成原理計算機
- MyBatis 應用的組成MyBatis
- Java JSON組成和解析JavaJSON
- css樣式的組成CSS
- Android MVVM組成結構AndroidMVVM
- 電腦的組成部分
- JavaScript的組成 | DOM/BOMJavaScript
- 簡介JavaScript的組成JavaScript
- 2951 星號組成字母E
- 計算機組成結構計算機
- JavaScript的三大組成部分JavaScript
- JavaScript的組成結構梳理JavaScript
- SOAPMessage的組成和傳送
- 關於JVM的組成與classloaderJVM
- 匯出Wireless組中的成員
- Starlink 軌道組成 / 波段資料
- 伺服器組成部分有哪些伺服器
- Spring框架 - Spring和Spring框架組成Spring框架
- 伺服器機房的組成伺服器
- NIO的組成有哪些——奈學
- 伺服器由哪些部分組成伺服器
- 伺服器的組成和作用伺服器
- 淺入kubernetes(2):Kubernetes 的組成
- 專案小組成員介紹
- 計算機組成原理與作業系統 第二章 處理機組成與管理計算機作業系統
- Java將List集合組裝成樹(Tree)樹結構組裝Java
- 計算機組成原理核心考點計算機
- 王道計算機組成原理筆記計算機筆記
- 計算機組成原理複習0625計算機
- 【知識分享】 伺服器概念、組成伺服器
- Fundamental Library for ABAP 主要的組成部分概述