函數索引
SELECT * ? FROM DEMOT ? WHERE F7 = 'F' ; |
SELECT * ? FROM DEMOT ? WHERE LOWER ( F7 ) = 'f' ; |
F7上本來是有位圖索引的,但是使用了LOWER函數后,就進行了全表掃面。
下面我們來創建F7列上的函數索引LOWER
CREATE INDEX FUN_INDEX ?? ON DEMOT (LOWER ( F7 )); ?????????????? 5 seconds |
再看執行計劃,發生了變化,使用了索引掃描。
聚合函數本身在oracle就創建了索引。
復合索引/組合索引
一個問題:創建索引時,如何安排列的順序呢?
建議將最頻繁訪問的列放在索引中最靠前的位置;避免使用低基數列作為符合索引的前導列。
只有當應用程序的WHERE子句中不同的鍵一起頻繁出現,并且目前正在使用“與”操作組合這些列時,才建立符合索引。
?
反向鍵索引
CREATE INDEX REV_INDEX ?? ON DEMOT ( F2 ) ?? REVERSE ;????????????????????????????? 7 seconds |
創建索引時,在插入索引前,反轉索引列的值,這樣插入的順序鍵值就不會導致最右側的索引塊的爭用,數據庫不會把新值存儲到相同的“熱”索引塊,而是把他們分別存儲到跨越大量塊的新條目中,減少對繁忙塊的爭用。
主鍵的實際值是連續排列的,但是索引值卻不是連續排列的。
?
分區索引
請先了解分區相關知識 http://blog.csdn.net/chiweitree/article/details/8111953
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
