Web Design
Mobile Internet
Brand Design
Innovative
News
Encyclopedias

SQL數(shù)據(jù)庫如果建立索引和維護(hù)

Date:2014-07-17 Aource:尚品中國 Type:網(wǎng)站百科
Word Size:small  medium  big

索引是根據(jù)表中一列或若干列按照一定順序建立的列值與記錄行之間的對(duì)應(yīng)關(guān)系表。為了改善查詢性能,可以建立素引。
SQL數(shù)據(jù)庫如果建立索引和維護(hù)

1.創(chuàng)建索引

在SQL語言中,建立索引使用CREATE INDEX語句,其一般格式如下:

CREATE [UNIQUE] [CLUSTER] INDEX<索引名>

ON <基本表名>(<列名>[<次序>],[,<列名>[<次序>]]...);

說明:

(1) UNIQUE規(guī)定索引的每一個(gè)索引值只對(duì)應(yīng)于表中唯一的記錄。

(2) CLUSTER規(guī)定此索引為聚集索引。所謂聚集索引是指索引項(xiàng)的順序與表中記錄的物理順序一致的。聚集索引對(duì)于那些經(jīng)常要搜索范圍值的列特別有效。使用聚集索引找到包含第一個(gè)值的行后,便可以確保包含后續(xù)索引值的行在物理相鄰。使用聚集索引能極大地提高查詢性能.省略CLUSTER則表示創(chuàng)建的索引為非聚集索引,非聚集索引與書本中的索引類似.數(shù)據(jù)存儲(chǔ)在一個(gè)地方,索引存儲(chǔ)在另一個(gè)地方,索引帶有網(wǎng)站制作指針指向數(shù)據(jù)的存儲(chǔ)位置。索引中的項(xiàng)目按索引鍵值的順序存儲(chǔ),而表中的信息按另一種順序存儲(chǔ)(這可以由聚集索引規(guī)定)。

(3)<次序>:建立索引時(shí)指定列名的索引表是ASC(升序)或DESC(降序)。若不指定,默認(rèn)為升序。

(4)本語句建立的索引的排列方式為:先以第一個(gè)列名值排序;該列值相同的記錄,則按下一列名排序。

【例3.8]在Student表的屬性列Sno上創(chuàng)建一個(gè)非聚集索引。
CREATE INDEX IDX_DNO_SNO
ON Student(Sno ASC);
【例3.91在Student表的屬性列Sname上創(chuàng)建一個(gè)聚集索引。

CREATE CLUSTER INDEX IDX_SNAME ON Student(Sname ASC);

2.刪除索引

雖然索引能提高查詢效率,但過多或不當(dāng)?shù)乃饕龝?huì)導(dǎo)致系統(tǒng)低效。用戶在表中每加進(jìn)一個(gè)索引,數(shù)據(jù)庫就要做更多的工作。過多的索引甚至?xí)?dǎo)致索引碎片,降低系統(tǒng)效率。因此,不必要的索引應(yīng)及時(shí)刪除,刪除索引的格式如下:

DROP INDEX <索引名>

說明:本語句將刪除定義的索引,該索引在數(shù)據(jù)字典中的描述也將被刪除。
【例3.10】刪除Student表的索引IDX_DNO_SNO。

DROP INDEX IDX DNO SNO;
?

Please contact our consultant

+86 10-60259772

Please provide your contact number. The project manager of shangpin China will contact you as soon as possible.