亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

淺析GBase8s?唯一索引與非唯一索引問題

 更新時間:2022年02月19日 10:27:19   作者:心海平凡  
GBase8s中主鍵(PRIMARY?KEY)會自動創(chuàng)建一個唯一索引。一個良好的表設計都應該定義主鍵或者唯一約束索引。特別是在OLTP系統(tǒng)中,唯一索引可以幫助快速定位少量記錄,對GBase8s?索引相關(guān)知識感興趣的朋友一起看看吧

唯一索引在列中不允許重復的值出現(xiàn),可以用來定義和約束表中的一列或者多列組合值,在執(zhí)行insert和update語句時需要檢查唯一性。GBase8s中主鍵(PRIMARY KEY)會自動創(chuàng)建一個唯一索引。一個良好的表設計都應該定義主鍵或者唯一約束索引。特別是在OLTP系統(tǒng)中,唯一索引可以幫助快速定位少量記錄。

唯一索引的創(chuàng)建語法:

CREATE UNIQUE INDEX idx_name ON tabname(col);

或者

CREATE DISTINCT INDEX idx_name ON tabname(col);

非唯一索引(可重復索引)可以在非主鍵列中創(chuàng)建,允許在列中出現(xiàn)重復的數(shù)據(jù)。但需要避免子鍵過于重復的數(shù)據(jù)列上創(chuàng)建索引,因為重復值越多的索引,其效率越低。

唯一索引與非唯一索引的實例圖如下:

注意:由于需要在insert、update時進行唯一性判斷,所以不建議在一個表上創(chuàng)建多個唯一索引。為了確保唯一性要求,一般在一張表中創(chuàng)建唯一索引就足夠了。

補充:GBase 8s數(shù)據(jù)庫表和主鍵索引使用的空間分離方法

GBase 8s數(shù)據(jù)庫創(chuàng)建主鍵時一般情況下有兩種方法:

1,創(chuàng)建表時指定主鍵,如:

create table tab1
(
? id int,
? name varchar(255),
? primary key(id)
) in datadbs01;

2,使用alter語句修改表結(jié)構(gòu)的方式創(chuàng)建主鍵

create table tab1
(
? id int,
? name varchar(255)
) in datadbs01;
alter table tab1 add constraint primary key(id);

這兩種方法都無法為主鍵自動創(chuàng)建的索引指定單獨的空間。

其實有一種變通的方式,可以將表使用的空間和主鍵索引使用的空間分離開,需要在方法2前加上創(chuàng)建唯一索引(即:不讓alter table add primary key自動創(chuàng)建索引,而是使用剛創(chuàng)建的唯一索引),具體如下:

-- 創(chuàng)建表,使用datadbs01空間
create table tab1
(
? id int,
? name varchar(255)
) in datadbs01;
-- 創(chuàng)建唯一索引,使用indexdbs01空間
create unique index ix_tab1_id on tab1(id) in indexdbs01;
-- 修改表,創(chuàng)建主鍵(關(guān)聯(lián)唯一索引)
alter table tab1 add constraint primary key(id);

到此這篇關(guān)于GBase8s 唯一索引與非唯一索引的文章就介紹到這了,更多相關(guān)GBase8s 索引內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論