國產資料庫達夢資料庫(DM7)例項初始化引數淺析
國產達夢資料庫(DM7)在初始化資料庫例項時會涉及到資料庫標識如埠號的配置,也有頁大小、字符集等引數的初始化配置,其中一些引數是作用在資料庫例項的整個生命週期內的,一旦初始化不能修改。在實際使用過程中這些引數的不同,可能會對資料儲存、查詢、分組等存在不同的影響,本篇根據官方文件說明、實踐經驗、測例總結,主要闡述引數值不同帶來的不同影響效果。
1、 頁大小(PAGE_SIZE)
資料頁(也稱資料塊) 是 DM 資料庫中最小的資料儲存單元。 頁的大小對應物理儲存空間上特定數量的儲存位元組。頁大小可以為 4KB、 8KB、 16KB 或者 32KB,預設值為8K。
該引數主要影響的是資料庫中實際可儲存的字串長度大小和一行資料的總長度。
在基表列定義字串型別時,其最大儲存長度由資料庫頁面大小決定,可以指定一個不超過其最大儲存長度的正整數作為字元長度,最大儲存長度和頁面大小的對應關係請見下表。另外,實際插入表中的列長度要受到記錄長度的約束,每條記錄總長度不能大於頁面大小的一半(不包含大欄位列)。
資料庫例項頁大小 |
字串列定義實際最大長度 |
4K |
1900 |
8K |
3900 |
16K |
8000 |
32K |
8188 |
這個限制長度只針對建表的情況,在定義變數的時候和表示式計算中,可以不受這個限制長度的限制。
選擇的頁大小越大,則 DM 支援的元組長度也越大,但同時空間利用率可能下降。通長預設為8K即夠用,也可根據實際業務需求選擇合理的頁大小或將長字串列變為大欄位列處理。
2、 簇大小(EXTENT_SIZE)
簇是資料頁的上級邏輯單元 ,由同一個資料檔案中 16 個或 32 個連續的資料頁組成。即每次分配新的段空間時連續的頁數。沒有特殊需求預設16就可以。
3、 大小寫敏感(CASE_SENSITIVE)
識別符號大小寫敏感。當大小寫敏感時,小寫的識別符號應用""括起,否則被系統自動轉換為大寫;當大小寫不敏感時,系統不會轉換識別符號的大小寫,在識別符號比較時也不能區分大小寫。通俗來說,就是大小寫不敏感時無論大小寫都是一樣的;大小寫敏感時,只有“”中的內容是嚴格區分大小寫的,其他都會預設轉換成大寫。
如下圖示例中,大小寫敏感的情況下,表名因為沒有雙引號會預設轉換為大寫,欄位中加了雙引號的c3和Cc4會保持原有大小寫的樣子且只有使用定義時的方式才可查詢到相應內容。
如下圖示例中,大小寫不敏感的情況下,表名、列名、字串內容全部忽略大小寫,無論大寫、小寫、是否加雙引號都不影響。
4、 字符集編碼(CHARSET/UNICODE_FLAG)
字符集選項。 取值: 0 代表 GB18030, 1 代表 UTF-8, 2 代表韓文字符集 EUC-KR。 預設為 0 。
5、 VARCHAR型別長度是否以字元為單位(LENGTH_IN_CHAR)
1 或 Y:是, 所有 VARCHAR 型別物件的長度以字元為單位。 這種情況下, 定義長度並非真正按照字元長度調整,而是將儲存長度值按照理論字元長度進行放大。所以會出現實際可插入字元數超過定義長度的情況,這種情況也是允許的。同時,儲存的位元組長度 8188 上限仍然不變,也就是說,即使定義列長度為 8188 字元,其實際能插入的字串佔用總位元組長度仍然不能超過 8188;
0 或 N:否,所有 VARCHAR 型別物件的長度以位元組為單位。預設是0。
該引數影響的僅僅是VARCHAR資料型別,對CHAR型別不影響。
當length_in_char=0時,varchar型別列儲存單位為位元組,如下圖示例中c2列varchar(10)最多儲存10個位元組。
當length_in_char=1時,varchar型別列儲存單位為字元(即2個位元組),如下圖示例中c2列varchar(10)最多儲存20個位元組。
6、 空格填充模式(BLANK_PAD_MODE)
設定字串比較時, 結尾空格填充模式是否相容 ORACLE。 取值: 1 相容; 0 不相容。預設為 0。
通俗來說,就是在比較、count等操作時是否嚴格區分字串’a’和’a ‘。
當BLANK_PAD_MODE=0時,除去group by 這種分組操作時嚴格區分外,其他比較、count等操作不嚴格區分’a’和’a ‘,認為這兩個字串是相等的,如下圖示例。
當BLANK_PAD_MODE=1時,所有操作嚴格區分’a’和’a ‘,如下圖示例。
除以上引數會影響到具體的使用外,還有預設加密演算法、預設HASH演算法、根金鑰加密引擎、全庫加密演算法、是否使用改進的字元型別HASH演算法(USE_NEW_HASH)等引數也是例項生命週期內不允許修改的,這些引數只會在做備份還原時要求一致性,對實際使用影響不大,可根據需求定義即可。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29130514/viewspace-2655856/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 資料庫國產化實戰之達夢資料庫資料庫
- 人性化易操作國產資料庫達夢資料庫學習淺談資料庫
- 達夢資料庫引數調整方法資料庫
- DM7修改資料庫引數資料庫
- 達夢7資料庫初始化資料庫
- 達夢資料庫例項的狀態和模式資料庫模式
- 達夢DM7 資料庫之資料守護DG搭建資料庫
- windows2016 達夢8資料庫例項初始化和解除安裝Windows資料庫
- 國產資料庫:達夢資料庫的幾個版本介紹資料庫
- 國產資料庫oceanBbase,達夢,金倉與mysql資料庫的效能對比 八、python讀達夢資料庫資料庫MySqlPython
- 達夢資料庫單例項轉實時同步叢集資料庫單例
- 國產資料庫oceanBbase,達夢,金倉與mysql資料庫的效能對比 四、python讀mysql寫入達夢資料庫資料庫MySqlPython
- Oracle Linux 7.1中安裝達夢資料庫DM7OracleLinux資料庫
- 國產資料庫oceanBbase,達夢,金倉與mysql資料庫的效能對比 六、python讀mysql資料庫資料庫MySqlPython
- 國產資料庫oceanBbase,達夢,金倉與mysql資料庫的效能對比 七、python讀oceanBase資料庫資料庫MySqlPython
- 淺析NewSQL資料庫——TiDBSQL資料庫TiDB
- DataX將Oracle資料庫資料同步到達夢資料庫Oracle資料庫
- 國產資料庫oceanBbase,達夢,金倉與mysql資料庫的效能對比 九、python讀金倉資料庫資料庫MySqlPython
- 達夢資料庫安裝資料庫
- 初識達夢資料庫資料庫
- 達夢資料庫開發資料庫
- 達夢資料庫學習資料庫
- 織夢資料庫_織夢還原資料庫_織夢資料庫很卡資料庫
- oracle資料庫建立資料庫例項-九五小龐Oracle資料庫
- 怎麼把達夢資料庫例項從Windows遷移到Linux系統資料庫WindowsLinux
- 分散式資料庫入門:以國產資料庫 TDSQL 為例分散式資料庫SQL
- 達夢資料庫基礎知識(三)達夢資料庫記憶體結構資料庫記憶體
- 淺談達夢資料庫的備份與恢復資料庫
- 達夢資料庫學習心得資料庫
- 達夢資料庫日常運維資料庫運維
- 達夢資料庫基礎---表資料庫
- 國產資料庫oceanBbase,達夢,金倉與mysql資料庫的效能對比 五、python讀mysql寫入金倉資料庫資料庫MySqlPython
- 配置ORACLE資料庫到達夢資料庫的異構DBLINKOracle資料庫
- 鐳速如何適配國產資料庫(達夢)進行高效資料管理與共享資料庫
- 資料庫的讀現象淺析資料庫
- 國產資料庫源流史:AntDB資料庫資料庫
- oracle資料庫與oracle例項Oracle資料庫
- mongodb關閉資料庫例項MongoDB資料庫