新聞中心
本篇文章為大家展示了怎么進(jìn)行主鍵local索引、unique local索引、分區(qū)索引順序的理解,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。
成都創(chuàng)新互聯(lián)長期為數(shù)千家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為平城企業(yè)提供專業(yè)的成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì),平城網(wǎng)站改版等技術(shù)服務(wù)。擁有10多年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。
CREATE TABLE TEST1 (hid number,hid2 number,hchar1 char(50))
PARTITION BY RANGE(hid) INTERVAL (10)
( PARTITION p01 VALUES LESS THAN (5));
主鍵不加USING INDEX LOCAL默認(rèn)是全局索引
ALTER TABLE TEST1 ADD CONSTRAINT PK_TEST PRIMARY KEY (hid) --全局索引;
ALTER TABLE TEST1 ADD CONSTRAINT PK_TEST PRIMARY KEY (hid) USING INDEX LOCAL;
主鍵是非分區(qū)字段
ALTER TABLE TEST1 ADD CONSTRAINT PK_TEST PRIMARY KEY (hid2) --正常執(zhí)行;
ALTER TABLE TEST1 ADD CONSTRAINT PK_TEST PRIMARY KEY (hid2) USING INDEX LOCAL --報(bào)錯(cuò)ORA-14039: 分區(qū)列必須構(gòu)成 UNIQUE 索引的關(guān)鍵字列子集;
ALTER TABLE TEST1 ADD CONSTRAINT PK_TEST PRIMARY KEY (hid2,hid) USING INDEX LOCAL --正常執(zhí)行;
unique索引是非分區(qū)字段
create unique index pk_ID on TEST1(HID2) local--報(bào)錯(cuò)ORA-14039: 分區(qū)列必須構(gòu)成 UNIQUE 索引的關(guān)鍵字列子集;
create unique index pk_ID on TEST1(HID2,HID) local --正常執(zhí)行;
create unique index pk_ID on TEST1(HID2) --正常執(zhí)行;
alter table TEST1 add constraint pk_ID2 primary key(HID2) using index pk_ID --正常執(zhí)行;
create index pk_ID99 on TEST1(HID2) local --正常執(zhí)行;
alter table TEST1 add constraint pk_ID99_2 primary key(HID2) using index pk_ID99 --報(bào)錯(cuò)ORA-14196: 指定的索引不能用于強(qiáng)制約束條件;
非分區(qū)字段創(chuàng)建主鍵,則創(chuàng)建主鍵local索引時(shí)必須加上分區(qū)字段
ALTER TABLE TEST ADD CONSTRAINT PK_TEST PRIMARY KEY (主鍵字段,分區(qū)字段) USING INDEX LOCAL;
主鍵做local索引必須包含分區(qū)鍵的字段。這和oracle 如何保證紀(jì)錄唯一有關(guān),如果unique index key沒有partition_key,那么每插入一行的紀(jì)錄,只保證它所進(jìn)入的分區(qū)中是唯一的,不保證在整個(gè)表上這個(gè)記錄是否唯一,這就違背了主鍵的意義。(如果和分區(qū)字段一起綁定,則不需要掃描所有的索引分區(qū)就能驗(yàn)證整個(gè)表上這個(gè)記錄是否唯一)。
range分區(qū),單個(gè)分區(qū)內(nèi)非分區(qū)字段的值不是順序的,分區(qū)字段值也不是順序的(如按100值分區(qū),第一個(gè)分區(qū)是1-100,順序可能是7,1,3,67,9這樣的,第二分區(qū)101-200,順序可能是199,136,103,178這樣的,但是相對兩個(gè)分區(qū)而言,第二個(gè)分區(qū)和第一個(gè)分區(qū)值的范圍是順序的)
分區(qū)字段的分區(qū)索引是順序的,因?yàn)榈谝粋€(gè)數(shù)據(jù)分區(qū)開始到后面的數(shù)據(jù)分區(qū)是range順序的,雖然單獨(dú)的數(shù)據(jù)分區(qū)內(nèi)數(shù)據(jù)不是順序的
非分區(qū)字段只是某一分區(qū)索引內(nèi)的索引是順序的,不代表分區(qū)索引是順序的。
上述內(nèi)容就是怎么進(jìn)行主鍵local索引、unique local索引、分區(qū)索引順序的理解,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
分享標(biāo)題:怎么進(jìn)行主鍵local索引、uniquelocal索引、分區(qū)索引順序的理解
當(dāng)前地址:http://www.ef60e0e.cn/article/gcgpci.html