首頁 > 新聞 > 知識(shí)賦能

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

2014-07-17 5229
分享至:
索引是根據(jù)表中一列或若干列按照一定順序建立的列值與記錄行之間的對(duì)應(yīng)關(guān)系表。為了改善查詢性能,可以建立素引。

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;
來源聲明:

本文章系尚品中國編輯原創(chuàng)或采編整理,如需轉(zhuǎn)載請(qǐng)注明來自尚品中國。以上內(nèi)容部分(包含圖片、文字)來源于網(wǎng)絡(luò),如有侵權(quán),請(qǐng)及時(shí)與本站聯(lián)系(010-60259772)。

立即預(yù)約專屬顧問 開啟數(shù)字化轉(zhuǎn)型之旅!

10年+資深項(xiàng)目經(jīng)理1V1服務(wù) | 行業(yè)定制化方案 | 精準(zhǔn)報(bào)價(jià)體系
獲取策劃方案
立即預(yù)約專屬顧問 開啟數(shù)字化轉(zhuǎn)型之旅!

咨詢我們,獲得專業(yè)的服務(wù)和報(bào)價(jià)

聯(lián)系我們,免費(fèi)獲取項(xiàng)目方案及報(bào)價(jià),或只是聊一聊您的項(xiàng)目? 在收到您的需求留言后我們將由專業(yè)人員于24小時(shí)內(nèi)與您取得聯(lián)系,請(qǐng)您保持電話暢通!

  • 科研院所解決方案
  • 外貿(mào)出海解決方案
  • 協(xié)會(huì)學(xué)會(huì)解決方案
  • 集團(tuán)上市公司解決方案
  • 生物醫(yī)藥解決方案
  • 制造業(yè)解決方案
  • 高校教育解決方案
  • 信創(chuàng)網(wǎng)站改造解決方案
更多服務(wù)咨詢,請(qǐng)聯(lián)系尚品

010-60259772

您的姓名 *
您的電話 *
您的郵箱
公司名稱 *