您好,登錄后才能下訂單哦!
國產達夢數據庫(DM7)在初始化數據庫實例時會涉及到數據庫標識如端口號的配置,也有頁大小、字符集等參數的初始化配置,其中一些參數是作用在數據庫實例的整個生命周期內的,一旦初始化不能修改。在實際使用過程中這些參數的不同,可能會對數據存儲、查詢、分組等存在不同的影響,本篇根據官方文檔說明、實踐經驗、測例總結,主要闡述參數值不同帶來的不同影響效果。
1、 頁大小(PAGE_SIZE)
數據庫實例頁大小
字符串列定義實際最大長度
4K
1900
8K
3900
16K
8000
32K
8188
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)等參數也是實例生命周期內不允許修改的,這些參數只會在做備份還原時要求一致性,對實際使用影響不大,可根據需求定義即可。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。