Oracle分割槽和鎖

2021-10-13 07:41:49 字數 1471 閱讀 2603

–表空間:是乙個或者多個資料檔案的集合,所有的資料物件都存放在表空間中,但主要存放的是表,所有叫表空間

–分割槽表:當表中的資料不斷增大的時候,我們查詢資料會變慢,這時候我們要考慮把資料存放在多個檔案上,表分割槽後資料在邏輯上仍然是一張完整的表

只是將表中的資料在磁碟上存放多個檔案上,這樣我們查詢的時候不用掃瞄整張表

–優點:改線查詢效能 增強可用性 維護性強

檢視是否支援分割槽表:select * from v$option;

分割槽表的型別:

–範圍分割槽:基於資料的範圍來分割槽

create table 表名(

–欄位名 資料型別 約束

…)partition by range(欄位名)(

–partition 分割槽名1 values less than(值),

–partition 分割槽名2 values less than(值)

)–雜湊分割槽:不具有邏輯 值關注幾個分割槽 資料是隨機分配分割槽

create table 表名 (…)

partition by hash(欄位名)(

partition 分割槽名 values(『值』);

partition 分割槽名 values(『值』,『值2』,…)

)符合分割槽:範圍分割槽 雜湊分割槽 或列表分割槽的組合 subpartition表示子分割槽

create table 表名(…)

partition by range(欄位名)

subpartition by hash(列明)(

partition 分割槽名 values less than(值)(

subpartiton 分割槽名,subpartition 分割槽名),

partition 分割槽名 values less than(值)(

subpartition 分割槽名,subpartition 分割槽名)

)上面的語法格式表示為:先以範圍分割槽,然後在範圍分割槽中使用雜湊分割槽建立子分割槽

分割槽的維護:

增加分割槽:alter table 表名 add partition 分割槽名 分割槽型別

刪除分割槽:alter table 表名 drop partition 分割槽名

刪除分割槽中的資料:alter table 表名 truncate partition 分割槽名

查詢分割槽表中的資料:select * from 表名 partition(分割槽名)

鎖:資料庫是乙個多使用者使用的共享資源,當多個使用者共同訪問資料是,在資料庫中就會產生多使用者同屬訪問同一條資料的情況。資料就有可能不準確,破壞了資料庫的一致性

分類:使用者和系統

自動鎖:當我們對資料進行操作的時候,系統自動加的鎖

顯示鎖:使用者手動加的鎖

級別分類:排它鎖:事務設定排他鎖,該事務單獨獲得此資源

共享鎖:使用者手動加的鎖

操作分類:dml鎖:對錶資料進行操作時加的鎖

ddl鎖:對錶結構進行操作時加的鎖

系統鎖:系統自行新增的鎖

鎖和表分割槽

鎖可以分為,行鎖,表級鎖,死鎖。表級鎖有 行共享,行排他,共享鎖,排他鎖 檢視當前資料庫裡鎖的情況。select object id,session id,locked mode from v locked object 如果出現了鎖的問題,某個dml操作可能等待很久沒有反應。grant selec...

mysql鎖和分割槽

mysql 鎖 myisam 在執行查詢語句前,會自動涉及的所有表加讀鎖,在執行增刪改操作前,會自動 給涉及的表加寫鎖 1.對myisam 表的讀操作 加讀鎖 不會阻塞其他程序對同一表的讀請求,但會阻塞對同一表的 寫請求。只有讀鎖釋放後,才會執行其他進行的寫操作 2.對myisam 表的寫操作 加寫...

oracle 分割槽和分割槽索引

1 分割槽分類 range分割槽,hash分割槽,list分割槽,復合分割槽,間隔分割槽,system分割槽 2 range分割槽 區域分割槽,就是按照定義的區域進行分割槽 語法 create table partition by range field partition p1 values le...