日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

达梦HUGE表

發(fā)布時(shí)間:2023/12/20 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 达梦HUGE表 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

僅為個(gè)人學(xué)習(xí)記錄

一、HUGE表空間

1、基礎(chǔ)

(1)是存儲HUGE表特有的表空間

(2)最多可創(chuàng)建 32767 個(gè) HUGE 表空間

(3)HTS,HUGE? TableSpace

(4)相關(guān)信息存儲在動(dòng)態(tài)視圖 V$HUGE_TABLESPACE,而非V$TABLESPACE

(5)與普通的表空間不同,并非通過段、簇、頁來管理,HUGE 表空間是通過 HFS 存儲機(jī)制來管理的

(6)創(chuàng)建一個(gè) HTS,其實(shí)就是創(chuàng)建一個(gè)空的文件目錄

(7)系統(tǒng)默認(rèn)的HTS,目錄名為 HMAIN

2、HFS目錄結(jié)構(gòu)

?

3、存儲機(jī)制

在 HTS 目錄下成功創(chuàng)建 HUGE 表,系統(tǒng)內(nèi)部需要經(jīng)過以下步驟

(1)在 HTS 目錄下創(chuàng)建這個(gè)表對應(yīng)的模式目錄

(2)在模式目錄下創(chuàng)建對應(yīng)的表目錄。

(3)在新創(chuàng)建表后插入數(shù)據(jù)時(shí),每一個(gè)列對應(yīng)一個(gè)以dta為后綴的文件

(4)文件大小可以在建表時(shí)指定,默認(rèn)為64M

(5)文件內(nèi)部存儲是按照區(qū)來管理的,區(qū)是文件內(nèi)部數(shù)據(jù)管理的最小單位,也是唯一的單位

(6)區(qū)中可以存儲單列數(shù)據(jù)的行數(shù)是在創(chuàng)建表時(shí)指定的,一經(jīng)指定,在這個(gè)表的生命過程就不能再修改

二、HUGE概念

1、列存儲表

(1)表的數(shù)據(jù)存儲方式分為行存儲和列存儲

(2)HUGE表,也就是列存儲表

(3)行存儲是以記錄為單位進(jìn)行存儲的,數(shù)據(jù)頁面中存儲的是完整的若干條記錄

(4)列存儲是以列為單位進(jìn)行存儲的,每一個(gè)列的所有行數(shù)據(jù)都存儲在一起,而且一個(gè)指定的頁面中存儲的都是某一個(gè)列的連續(xù)數(shù)據(jù)。

2、列存儲和行存儲

(1)舉例有這樣一個(gè)表:

?

(2)上圖表,行存儲和列存儲的存儲方式為:

?

3、非事務(wù)型 HUGE 表

(1)對非事務(wù)型 HUGE 表的增、刪、改是直接對 HUGE 表進(jìn)行寫操作的,不寫 UNDO 日志,不通過 BUFFER 緩存,直接操縱文件

(2)使用數(shù)據(jù)鏡像來保證完整性,鏡像的不同程度可以實(shí)現(xiàn)不同程度的完整性恢復(fù)。鏡像文件是放在表目錄中的以.mir為擴(kuò)展名的文件

  • LOG NONE:不做鏡像。相當(dāng)于不做數(shù)據(jù)一致性的保證,效率好
  • LOG LAST:做部分鏡像。但是在任何時(shí)候都只對當(dāng)前操作的區(qū)做鏡像,只是一個(gè)大的操作是可能涉及多個(gè)區(qū)的,鏡像文件不會很大
  • LOG ALL:全部作鏡像,鏡像文件可能會很大,能夠保證操作完整性。比如,在操作過程中失敗了,那么這個(gè)操作會完整的撤消
  • (3)HUGE_WITH_DELTA 的缺省值 1,不支持創(chuàng)建非事務(wù)性 HUG 表

    4、AUX輔助表

    (1)每個(gè) HUGE 表,相應(yīng)地配備一個(gè) AUX 輔助表來管理其數(shù)據(jù)

    (2)在創(chuàng)建HUGE 表時(shí)系統(tǒng)自動(dòng)創(chuàng)建的,表名為 表名$AUX

    (3)如果該 HUGE 表為分區(qū)表,則輔助表名為“子表名$AUX”

    (4)每一條記錄對應(yīng)文件中的一個(gè)數(shù)據(jù)區(qū)

    (5)列:

    1.

    COLID

    :表示當(dāng)前這條記錄對應(yīng)的區(qū)所在的列的列 ID 號;

    2.

    SEC_ID

    :表示當(dāng)前這個(gè)記錄對應(yīng)的區(qū)的區(qū) ID 號,每一個(gè)區(qū)都有一個(gè) ID 號,并且唯一;

    3.

    FILE_ID

    :表示這個(gè)區(qū)的數(shù)據(jù)所在的文件號;

    4.

    OFFSET

    :表示這個(gè)區(qū)的數(shù)據(jù)在文件中的偏移位置,4K 對齊;

    5.

    COUNT

    :表示這個(gè)區(qū)中存儲的數(shù)據(jù)總數(shù)(有可能包括被刪除的數(shù)據(jù));

    6.

    ACOUNT

    :表示這個(gè)區(qū)中存儲的實(shí)際數(shù)據(jù)行數(shù);

    7.

    N_LEN

    :表示這個(gè)區(qū)中存儲的數(shù)據(jù)在文件中的長度,4K 對齊的;

    8.

    N_NULL

    :表示這個(gè)區(qū)中的數(shù)據(jù)中包括的 NULL 值的行數(shù);

    9.

    N_DIST

    :表示這個(gè)區(qū)中所有數(shù)據(jù)互不相同的行數(shù);

    10.

    CPR_FLAG

    :表示這個(gè)區(qū)是否壓縮;

    11.

    ENC_FLAG

    :表示這個(gè)區(qū)是否加密;

    12.

    CHKSUM

    :用來存儲標(biāo)記位;

    13.

    MAX_VAL

    :表示這個(gè)區(qū)中的最大值,精確值;

    14.

    MIN_VAL

    :表示這個(gè)區(qū)中的最小值,精確值;

    15.

    SUM_VAL

    :表示這個(gè)區(qū)中所有值的和,精確值。

    5、事務(wù)型 HUGE 表

    (1)事務(wù)型 HUGE 表,通過增加 RAUX、DAUX 和 UAUX 行輔助表,減少了事務(wù)型 HUGE 表增、刪、改操作的 IO,提高效率,同時(shí)提高并行性能。

    (2)事務(wù)型 HUGE 表支持 UNDO 日志,實(shí)現(xiàn)了事務(wù)特性。

    (3)RAUX 行輔助表

  • RAUX 行輔助表存放最后一個(gè)數(shù)據(jù)區(qū)(不夠存滿一個(gè)數(shù)據(jù)區(qū))的數(shù)據(jù),與 HUGE 表結(jié)構(gòu)相同
  • (4)DAUX 行輔助表

  • DAUX 行輔助表記錄 HUGE 表數(shù)據(jù)文件中被刪除的數(shù)據(jù),與 HUGE 表結(jié)構(gòu)相同
  • (5)UAUX 行輔助表

  • UAUX 行輔助表記錄 HUGE 表被更新的數(shù)據(jù)的新值,與 HUGE 表結(jié)構(gòu)相同
  • (6)創(chuàng)建事務(wù)型 HUGE 表時(shí),指定 HUGE 表鏡像文件方案的選項(xiàng) LOG NONE|LOG LAST|LOG ALL 失效。

    三、HUGE表限制

    1.建 HUGE 表時(shí)僅支持定義 NULL、NOT NULL、UNIQUE 約束以及 PRIMARY KEY,后兩種約束也可以通過 ALTER TABLE 的方式添加,但這兩種約束不檢查唯一性;

    2.HUGE 不允許建立聚簇索引,允許建立二級索引,不支持建位圖索引,其中 UNIQUE索引不檢查唯一性;

    3.不支持 SPACE LIMIT(空間限制);

    4.不支持建立全文索引;

    5.不支持使用自定義類型;

    6.不支持引用約束;

    7.不支持 IDENTITY 自增列;

    8.不支持大字段列;

    9.不支持建觸發(fā)器;

    10.不支持游標(biāo)的修改操作;

    11.PK 和 UNIQUE 約束不檢查唯一性,對應(yīng)的索引都為虛索引;UNIQUE 索引也不檢查唯一性,為實(shí)索引,索引標(biāo)記中不包含唯一性標(biāo)記,即和普通二級索引相同;

    12.不允許對分區(qū)子表設(shè)置 SECTION 和 WITH/WITHOUT DELTA;

    13.當(dāng)事務(wù)型 HUGE 表進(jìn)行了較多增刪改操作時(shí),應(yīng)對其進(jìn)行數(shù)據(jù)重整操作,以提高性能。

    四、創(chuàng)建HUGE表

    1、創(chuàng)建非事務(wù)型 HUGE 表 T1。

    CREATE HUGE TABLE T1 (A INT, B INT) STORAGE(WITHOUT DELTA);

    2、創(chuàng)建事務(wù)型 HUGE 表 T2。

    CREATE HUGE TABLE T2 (A INT, B INT) STORAGE(WITH DELTA);

    3、指定區(qū)存儲的行數(shù)

    CREATE HUGE TABLE T2 (A INT, B INT) STORAGE(SECTION (65535));

    4、指定插入時(shí)不記錄區(qū)最大值最小值,默認(rèn)記錄

    (1)全表不記錄

    CREATE HUGE TABLE test(name VARCHAR, sno INT) STORAGE (STAT NONE);

    (2)單列不記錄

    CREATE HUGE TABLE test(name VARCHAR STORAGE (STAT NONE), sno INT);

    5、指定表空間

    CREATE HUGE TABLE T2 (A INT, B INT) STORAGE(SECTION (65535), on MYHUGE);

    6、指定文件大小,默認(rèn)64M

    CREATE HUGE TABLE T2 (A INT, B INT) STORAGE(SECTION (65535), on MYHUGE ,filesize(1024));

    7、指定壓縮級別

    (1)兩種壓縮算法,SNAPPY 和 ZIP

    (2)取值范圍 0~10

    0 等價(jià)于 LEVEL 2

    1 等價(jià)于 LEVEL 9

    2~9 采用 ZIP 算法壓縮,值越大表示壓縮比越高、壓縮速度越慢

    10 采用 SNAPPY 算法輕量級方式壓縮

    (3)舉例,壓縮某一列

    CREATE HUGE TABLE test(name VARCHAR, sno INT) COMPRESS LEVEL 1 (sno);

    8、測試唯一約束

    (1)唯一約束對于HUGE表是無效的。

    ?

    達(dá)夢數(shù)據(jù)庫 - 新一代大型通用關(guān)系型數(shù)據(jù)庫 | 達(dá)夢云適配中心達(dá)夢數(shù)據(jù)庫產(chǎn)品體驗(yàn)站,DM8在線試玩,達(dá)夢數(shù)據(jù)庫全系列產(chǎn)品免費(fèi)下載,官方權(quán)威的快速上手文檔和產(chǎn)品手冊,最活躍的達(dá)夢技術(shù)社區(qū),面向全行業(yè)ISV廠商免費(fèi)的云適配服務(wù)。https://eco.dameng.com/

    總結(jié)

    以上是生活随笔為你收集整理的达梦HUGE表的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。