[英]DB2 indexing setup
我正在查看一些表源代碼,我不確定索引是如何工作的。 這是我看到的例子。
CREATE INDEX INDEXNAME ON AWARD ( AWARD_ID, CUST_ID );
我不明白參數值是什么意思。 是每個列的索引,還是它們組合在一起成為索引。
它是一個包含兩個字段的索引。 索引通常用於選擇,連接,分組和/或排序。
要實現的關鍵是多列索引從左到右是有用的。
對於選擇,如果你有一個看起來像的where子句,這樣的索引將非常有用
WHERE AWARD_ID = 123 AND CUST_ID = 456
如果也有幫助
WHERE AWARD_ID = 123
但可能沒有(直接)有用
WHERE CUST_ID = 456
由於未引用索引的最左列(AWARD_ID)。
加入以類似的方式工作。
--index useful
FROM TBLA JOIN AWARD USING (AWARD_ID,CUST_ID)
or
FROM TBLA JOIN AWARD USING (AWARD_ID)
--index NOT useful
FROM TBLA JOIN AWARD USING (CUST_ID)
和訂購和分組一樣。
如果您恰好使用DB2 for IBM i,以下文章是一個很棒的資源:
如果是DB2 LUW,則可能會應用有關位圖索引的部分,但忽略有關EVI索引的信息。 另請參閱DB2 LUW信息中心的規划和性能子部分索引部分http://pic.dhe.ibm.com/infocenter/db2luw/v10r5/topic/com.ibm.db2.luw.admin.perf.doc /com.ibm.db2.luw.admin.perf.doc-gentopic8.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.