資料庫中級教程 第一講 分割槽資料表的建立

2021-10-11 03:24:03 字數 3433 閱讀 3066

資料庫中級教程:第一講 分割槽資料表的建立

當資料表的資料的記錄數達到數百萬,甚至是數千萬條記錄時,不僅資料的插入,刪除等操作,效能很差,而且

資料的查詢也是很慢的。包括僅是統計一下記錄的數量也是很耗時的。

oracle提供的解決方案之一是把資料表設定為分割槽表,即在物理儲存上,它們是多個資料表,在邏輯上,它們是

一張資料表,這既方便查詢語句的編寫,又能以分而治之的思想,實現表的儲存,大而化小。提高資料庫的效能。

表分割槽的型別有範圍分割槽,列表分割槽,雜湊分割槽,組合範圍分割槽,組合列表分割槽,

組合雜湊分割槽,引用分割槽和系統分割槽。

注意事項,第一是要有許可權,第二是如果分割槽引用了表空間的名稱,那麼要保證事先建立了相應的表空間,保證

表空間的存在性。此外對於資料量很大的資料表,要注意表的儲存空間的增長情況,防止出現撐爆磁碟空間的問題。

即使使用了san,也必須進行儲存容量的規劃。

範圍分割槽的資料表的建立示例如下:

create table range_sales

( prod_id number(6)

, cust_id number

, time_id date

, channel_id char(1)

, promo_id number(6)

, quantity_sold number(3)

, amount_sold number(10,2)

)partition by range (time_id)

(partition sales_q1_1998 values less than (to_date('01-apr-1998','dd-mon-yyyy')),

partition sales_q2_1998 values less than (to_date('01-jul-1998','dd-mon-yyyy')),

partition sales_q3_1998 values less than (to_date('01-oct-1998','dd-mon-yyyy')),

partition sales_q4_1998 values less than (to_date('01-jan-1999','dd-mon-yyyy')),

partition sales_q1_1999 values less than (to_date('01-apr-1999','dd-mon-yyyy')),

partition sales_q2_1999 values less than (to_date('01-jul-1999','dd-mon-yyyy')),

partition sales_q3_1999 values less than (to_date('01-oct-1999','dd-mon-yyyy')),

partition sales_q4_1999 values less than (to_date('01-jan-2000','dd-mon-yyyy')),

partition sales_q1_2000 values less than (to_date('01-apr-2000','dd-mon-yyyy')),

partition sales_q2_2000 values less than (to_date('01-jul-2000','dd-mon-yyyy')),

partition sales_q3_2000 values less than (to_date('01-oct-2000','dd-mon-yyyy')),

partition sales_q4_2000 values less than (maxvalue))

列表分割槽的資料表的建立示例如下:

create table list_customers

( customer_id number(6)

, cust_first_name varchar2(20)

, cust_last_name varchar2(20)

, cust_address cust_address_typ

, nls_territory varchar2(30)

, cust_email varchar2(30))

partition by list (nls_territory) (

partition asia values ('china', 'thailand'),

partition europe values ('germany', 'italy', 'switzerland'),

partition west values ('america'),

partition east values ('india'),

partition rest values (default));

雜湊分割槽的資料表的建立示例如下:

create table hash_products

( product_id number(6) primary key

, product_name varchar2(50)

, product_description varchar2(2000)

, category_id number(2)

, weight_class number(1)

, warranty_period interval year to month

, supplier_id number(6)

, product_status varchar2(20)

, list_price number(8,2)

, min_price number(8,2)

, catalog_url varchar2(50)

, constraint product_status_lov_demo

check (product_status in ('orderable'

,'planned'

,'under development'

,'obsolete')

) )partition by hash (product_id)

partitions 4

store in (tbs_01, tbs_02, tbs_03, tbs_04);

引用分割槽的資料表的建立示例如下

create table part_order_items (

order_id number(12) primary key,

line_item_id number(3),

product_id number(6) not null,

unit_price number(8,2),

quantity number(8),

constraint product_id_fk

foreign key (product_id) references hash_products(product_id))

partition by reference (product_id_fk);

資料庫中級教程 第十一講 資料庫的各種鎖

資料庫中級教程 第十一講 資料庫的各種鎖 資料庫的效能的問題,有一大部分是與鎖相關的。對於dba,必須清楚地了解資料庫 的鎖機制。資料庫是乙個多使用者使用的共享資源。當多個使用者併發地訪問資料時,在資料庫中就 會產生多個事務同時訪問同一資料的情況。若對併發操作不加控制就可能會讀取和存 儲不正確的資料...

資料結構 第一講

資料元素在計算機中的儲存表示方式稱為資料的儲存結構,也稱為物理結構。順序儲存結構 順序儲存結構是把資料元素儲存在一塊連續位址空間的記憶體中,其特點是邏輯上相鄰的資料元素在物理上也相鄰,資料間的邏輯關係表現在資料元素的儲存位置關係上。鏈式儲存結構 指標是指向物理儲存單元位址的變數。由資料元素域和指標域...

第一講 大資料概述

內容來自廈門大學林子雨教授的 大資料技術原理 課程,作為學習筆記。1.1大資料時代 1.2大資料概念 1.3大資料的影響 1.4大資料的應用 1.5大資料關鍵技術 1.6大資料計算模式 1.7大資料產業 1.8大資料與雲計算 物聯網的關係 1.1.1第三次資訊化浪潮 第一次 1980年前後 個人計算...