新聞中心
表和索引可以分區(qū)。進(jìn)行分區(qū)時(shí),這些 Schema 對象由許多稱為分區(qū)的部分組成,所有這些部分都具有相同的邏輯屬性。例如,表中的所有分區(qū)共享相同的列和約束定義,而索引中的所有分區(qū)共享相同的索引列。

創(chuàng)新互聯(lián)專注于企業(yè)營銷型網(wǎng)站、網(wǎng)站重做改版、安慶網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5高端網(wǎng)站建設(shè)、商城建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為安慶等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
分區(qū)擴(kuò)展名和子分區(qū)擴(kuò)展名使用戶可以執(zhí)行某些分區(qū)級和子分區(qū)級操作,例如,僅在一個(gè)分區(qū)或子分區(qū)上刪除其中的所有行。沒有擴(kuò)展名稱時(shí),此類操作將要求您使用判斷語句定義范圍(?WHERE? 子句)。對于范圍分區(qū)表和列表分區(qū)表,嘗試用判斷語句描述分區(qū)級操作可能會很麻煩,尤其是當(dāng)范圍分區(qū)鍵使用多個(gè)列時(shí)。對于哈希分區(qū)和子分區(qū),使用判斷語句更加困難,因?yàn)檫@些分區(qū)和子分區(qū)是基于系統(tǒng)定義的哈希函數(shù)。
分區(qū)擴(kuò)展名使您可以像使用表一樣使用分區(qū)。此方法的一個(gè)優(yōu)點(diǎn)(對范圍分區(qū)的表最有用)是,您可以通過對其他用戶或角色授予(或撤消)這些視圖的特權(quán)來構(gòu)建分區(qū)級別的訪問控制機(jī)制。要將分區(qū)用作表,需要通過從單個(gè)分區(qū)中選擇數(shù)據(jù)來創(chuàng)建視圖,然后將該視圖用作表。
語法
當(dāng)在 SQL 語句的語法或軌道圖中出現(xiàn) ?partition_extended_name? 或者 ?subpartition_extended_name? 元素時(shí),用戶可以通過這兩個(gè)元素指定分區(qū)擴(kuò)展表名和子分區(qū)擴(kuò)展表名。?partition_extended_name? 的語法:
PARTITION partition
|
PARTITION FOR ( partition_key_value [, partition_key_value]... )?subpartition_extended_name? 的語法:
SUBPARTITION subpartition
|
SUBPARTITION FOR ( subpartition_key_value [, subpartition_key_value]... )DML 語句 ?INSERT?、?UPDATE? 、 ?DELETE? 和 ?ANALYZE? 語句需要在分區(qū)或子分區(qū)名稱的周圍加上括號。這個(gè)小的區(qū)別體現(xiàn)在 partition_extension_clause 元素中。在 ?partition_extended_name?,?subpartition_extended_name? 和 ?partition_ extension_clause? 中,可以使用 ?PARTITION FOR? 和 ?SUBPARTITION FOR? 子句在不使用名稱的情況下引用分區(qū)。它們對任何類型的分區(qū)均有效,尤其是間隔分區(qū)。將數(shù)據(jù)插入表中時(shí),間隔分區(qū)會根據(jù)需要被自動創(chuàng)建。
對于上述元素中各自的 ?partition_key_value? 或 ?subpartition_key_value? 部分,它們?yōu)槊總€(gè)分區(qū)鍵列指定一個(gè)值。對于多列分區(qū)鍵,需要為每個(gè)分區(qū)鍵指定一個(gè)值。對于復(fù)合分區(qū),對每個(gè)分區(qū)鍵指定一個(gè)值后,需要繼續(xù)為每個(gè)子分區(qū)鍵指定一個(gè)值。所有分區(qū)鍵值均以逗號分隔。對于間隔分區(qū),您只能指定一個(gè) ?partition_key_value?,并且它必須是有效的 ?NUMBER? 數(shù)據(jù)類型或日期時(shí)間數(shù)據(jù)類型的值。用戶的 SQL 語句將在包含用戶指定了值的分區(qū)或子分區(qū)上運(yùn)行。
擴(kuò)展名稱的限制
使用分區(qū)擴(kuò)展表名和子分區(qū)擴(kuò)展表名時(shí)有以下限制:
- 名稱中沒有遠(yuǎn)程表:擴(kuò)展分區(qū)表名和子分區(qū)擴(kuò)展表名不能包含數(shù)據(jù)庫鏈接或能轉(zhuǎn)換為具有數(shù)據(jù)庫鏈接的表的同義詞。要使用遠(yuǎn)程分區(qū)和遠(yuǎn)程子分區(qū),需要在遠(yuǎn)程站點(diǎn)上使用擴(kuò)展表名語法創(chuàng)建一個(gè)視圖,然后引用該遠(yuǎn)程視圖。
- 名稱中沒有同義詞:必須使用基表指定分區(qū)或子分區(qū)擴(kuò)展名,不能使用同義詞,視圖或任何其他對象。
- 在 ?
PARTITION FOR? 和 ?SUBPARTITION FOR? 子句中,不能指定關(guān)鍵字 ?DEFAULT? 、?MAXVALUE? 或綁定變量為 ?partition_key_value? 或 ?subpartition_key_value? 的值。 - 在 ?
PARTITION? 和 ?SUBPARTITION? 子句中,不能為分區(qū)或子分區(qū)名稱指定綁定變量。
示例
在以下示例中,sales 是具有分區(qū) sales_q1_2000 的分區(qū)表。以下語句創(chuàng)建了單個(gè)分區(qū) sales_q1_2000 的視圖,然后像使用表一樣使用它。本示例從分區(qū)中刪除了一些行:
/*為分區(qū) sales_q1_2000 創(chuàng)建視圖 Q1_2000_sales*/
CREATE VIEW Q1_2000_sales
AS
SELECT *
FROM sales PARTITION (SALES_Q1_2000);
/*刪除視圖 Q1_2000_sales 中符合條件 amount_sold < 0 的值*/
DELETE FROM Q1_2000_sales
WHERE amount_sold < 0; 新聞名稱:創(chuàng)新互聯(lián)OceanBase教程:OceanBase 引用分區(qū)表和索引
網(wǎng)站網(wǎng)址:http://www.dlmjj.cn/article/djoidde.html


咨詢
建站咨詢
