常用資料庫系統的表型別

2021-08-29 19:26:46 字數 1882 閱讀 8966

2005-4-7 星期四(thursday) 晴

資料庫表的四種基本型別:

堆組織表、索引組織表、索引聚簇表、雜湊聚簇表。

設定各種型別的表都是為了加快資料訪問的速度。

堆組織表:

堆是一塊大的空間,可供隨機的訪問。所以很容易想到堆組織表是乙個大而無序的資料記錄行的集合。每乙個記錄行可以隨機的存放在任意乙個能容納它的位置上,記錄行的順序是不可**的。堆組織表是資料庫系統中最原始也是目前最常用的資料表組織形式。

索引組織表:

由於堆組織表中,索引和表是分開維護的;雖然資料庫系統保證他們之間的資料一致性,但是分開的索引會產生額外的空間開銷。

索引組織表是將資料按照主鍵順序排放的。索引組織表的實質上是將資料存放在相應的索引裡面,而基表中不存放任何資料。表內資料的idqu操作只是修改相應的索引裡面的儲存的資料,對基本表沒有什麼操作。

堆組織表和索引組織表的差別是在dmbs內部對資料表儲存實現方式上的差別。對於資料庫系統的程式設計人員來說,對堆組織表操作和對索引組織表操作沒有任何的區別。與堆組織表相比,索引組織表減少了資料儲存空間上的開銷。索引組織表只維護單獨乙個b樹索引,表的資料和對應的索引儲存在一起。此外,索引組織表加快了主鍵上的查詢速度。索引組織表的主鍵與資料存放在一起,減少了磁碟i/o。

在計算機的世界裡沒有銀彈,索引組織表也有一定的缺陷,而這些缺陷中的某些又恰恰是堆組織表可以彌補的。缺陷一,索引組織表的溢位問題,由於資料量加大以後,索引的每個葉節點可能只能包含一條記錄行甚至是一條記錄行中的一部分資料,這樣b樹索引的優越性就失去了任何意義。解決辦法:設定溢位表空間。當每一行中資料操過指定值時,將該行中非健列的值的剩餘資料放到溢位表空間中。缺陷二,堆索引組織表的dml操作比堆組織表的dml操作更容易產生空間碎片。經常對索引組織表進行插入和刪除,會由於碎片空間的增多造成查詢時i/o次數增加,查詢速度下降。解決辦法:重構索引或是改用堆組織表。

在oracle資料庫中建立索引組織表很簡單,在manager console下相應的schema下面選擇新建乙個資料表,然後在建表視窗的general選項卡裡有個table的標籤,選擇organized using index就行了。如果需要可以將下面的with overflow data segment選上,就可以將溢位的資料新增到溢位的表空間。用命令指令碼建立如下:

create table iottest

( id number(10) not null,

 name varchar2(10) not null,

 constraint id primary key (id)

)organization index;

這個操作除了在schema下面建立乙個索引表以外,還會schema下面自動建立乙個索引溢位表。但是用manager console看不出來,可以用pl/sql這樣的第三方的工具檢視到。

索引聚簇表和雜湊聚簇表:

這兩種表都是屬於聚簇表。聚簇的基本思想,用通俗的話說就是將相關的資料儲存在一起。

聚簇表的基本原理就是對於一組表,使這些表共享某些相同的列,並將相關的資料儲存在同乙個物理塊上,類似與對錶在指定列上做了「預連線」。聚簇表的儲存方式就好像圖書館把書籍分門別類的存放的道理一樣。

索引聚簇表:指定聚簇關鍵字後,用b樹索引組織關鍵字,所有其它資料聚集在聚簇關鍵字周圍儲存。

雜湊聚簇表:與索引聚簇表不同點在於,定位聚簇關鍵字的時候不是用b樹索引,而是雜湊函式。

聚簇表的優點:減少磁碟i./o,有利於快速訪問資料。

缺點:不適合插入、刪除操作過於頻繁的表。

在oracle中建立聚簇表的方式是先要建立乙個cluster,然後在cluster下面建立表,當然還可以建立聚簇索引。注意聚簇索引和索引聚簇表不是乙個東西,索引聚簇表本質上是乙個表,只不過用索引的方式組織,而聚簇索引本質上是乙個索引。

資料庫系統mysql MySQL資料庫系統

1 mysql的特點 1 多執行緒 多使用者 2 基於c s 客戶端 伺服器 架構 3 簡單易用 查詢速度快 4 安全可靠 2 mysql編譯安裝 代表鍵盤上tab鍵 1 準備工作 解除安裝使用rpm方式安裝的mysql rpm e mysql nodeps 安裝cmake包 cd media ta...

sql資料庫系統表

sysaltfiles 主資料庫 儲存資料庫的檔案 syscharsets 主資料庫 字符集與排序順序 sysconfigures 主資料庫 配置選項 syscurconfigs 主資料庫 當前配置選項 sysdatabases 主資料庫 伺服器中的資料庫 syslanguages 主資料庫 語言 ...

ms sql資料庫系統表

名稱 位址 說明 master.dbo.sysaltfiles 主資料庫 儲存資料庫的檔案 master.dbo.syscharsets 主資料庫 字符集與排序順序 master.dbo.sysconfigures 主資料庫 配置選項 master.dbo.syscurconfigs 主資料庫 當前...