程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> 其他數據庫知識 >> 更多數據庫知識 >> 使用 DB2 對象:創建索引

使用 DB2 對象:創建索引

編輯:更多數據庫知識

  索引(index) 是DB2數據庫中的一種輔助對象,但是通常它對於數據庫應用程序的性能非常重要。索引使查詢能夠更高效地訪問數據。惟一索引還用來 “確保特定數據列的惟一性”。

  索引是在一個表上定義的,並使用表列的子集作為索引鍵。索引以經過排序的次序存儲索引鍵。除了存儲索引鍵之外,每個索引項包含一個稱為記錄 ID(RID)的邏輯指針,它指向一個數據行在表中的位置。可以指定索引項以升序還是以降序存儲。索引是與表數據分開存儲的。

  可以選擇索引是否進行聚簇。聚簇索引(clustering index) 使表中的數據按照與聚簇索引相同的次序進行聚簇。當查詢按照與聚簇索引相同的次序訪問表數據時,聚簇索引能夠進一步提高性能。

  可以在一個表上定義多個索引,對於每個表只能定義一個聚簇索引,但是 Multiple Dimensional Clustering(MDC)表例外。不能在視圖上創建索引。

  可以使用 CREATE INDEX 語句創建索引。以下練習演示如何使用 GUI 工具創建索引:

  1、在 Control Center 中,選擇 Indexes 視圖。點擊 Create New Index 啟動 Create Index 向導。

  2、在 Create Index 向導中,選擇要創建新索引的表。選擇 HWLD 作為表模式,AUTHOR 作為表名。對於 XML column 選項,選擇 No。點擊 Next。

  3、在 Name 頁面上,選擇 HWLD 作為索引模式,指定 AUTHORID 作為索引名。點擊 Next 進入 Column 頁面,在這裡指定索引列。

  4、選擇 AUTHOR_ID,並點擊 > 按鈕將它添加到右邊作為選擇的索引列。選中 Enforce uniqueness 以使 AUTHOR_ID 中的數據保持惟一性。包含列是 DB2 提供的一個特性,用來在索引中存儲額外的數據列,從而加快數據訪問,尤其是在只掃描索引的時候。在這裡沒有包含列。點擊 Next。

  圖Create Index 向導

  Create Index 向導 —— 第 3 步

  5、Options 頁面允許對一些索引性能選項進行定制。選中 Customize performance options。

  6、選擇默認值。PCTFREE 和 LEVEL 2 PCTFREE 指定在創建索引期間在索引樹的葉頁面和第 2 層索引頁面上的空閒空間。如果您知道表以後會進行許多次插入,您可能希望提高 10% 默認值,以避免在插入期間索引頁面碎片化。如果指定了 MINPCTUSED,DB2 就使用這個阈值來判斷何時可以將兩個接近空的索引頁面合並在一起。如果啟用這個特性,它可以幫助減少索引頁面上由於刪除造成的空的空間。適當地調整這些參數有助於改進索引訪問性能。

  7、點擊 Next 進入 Summary 頁面。

  8、在 Summary 頁面上,使用 Show SQL 查看 CREATE INDEX 語句。如果表中有數據,那麼可以使用 Estimate Size 檢查新索引的空間使用情況。點擊 Finish 完成索引的創建。應該會返回消息 DB20000,這表示向導成功地完成了操作。關閉消息窗口。

  9、在 Control Center Indexes 視圖中,選擇索引名 AUTHORID。看一下這個索引的細節。點擊 Show Related Objects 查看相關對象的信息,比如這個索引的基表 HWLD.AUTHOR 以及駐留這個索引的表空間 TBSP_INDEX1。

  圖Control Center —— 索引

  Control Center —— 索引

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved