關於分割槽表的使用
最近在使用oracle的分割槽表,有點心得,對之後的效能優化可能有幫助,先記著.
表a,有type欄位,一般只記錄1和2,1表示某一類資料,2表示另外一類資料,一般對於這種字段建立索引是沒有意義的,因為就只有1和2兩個值,就算建了索引,一般oracle也不會用。
例如,有如下查詢
select * from a where type= 2;
對於這個查詢就算type上建立了乙個索引,這個索引也是不會被使用的,而是進行一次全表的掃瞄。
當前我們的情況是這樣的,type =1 的記錄有10w,而type=2 的記錄只有幾條,但因為做了一次全表的掃瞄,上面的語句查詢話了很長的時間。
現在我們用type欄位做乙個分表表。
這時候再進行上述查詢的時候速度就快了非常多,看了執行計畫,原因是:
雖然這時候索引依然不起作用,但因為使用了分割槽表,在進行全表的掃瞄的時候就不會進行全表掃瞄了,而是進行一次type =2的全分割槽的掃瞄,由於type=2 的記錄很少,那麼掃瞄很快就完成了,因此速度就快了很多。
關於分割槽表的操作
建立分割槽表 範圍分割槽 create table t partition by ranger range key column partiton part1 values less then partiton part2 values less then hash 分割槽可以是資料分散從而更好的避...
關於分割槽表的初探
上週我寫了一篇博文,裡面有一點關於分割槽表的論述 但是我發現我少寫了一點,在你的查詢條件和分割槽列沒有太大關係的時候,分割槽表不會幫助你提高效率。我是按照area id分割槽的,圖1的執行計畫 圖2的執行計畫 建立一張表,這張表的資料和test一樣,但是沒有分割槽,執行一下圖1中的語句,檢視其執行計...
Mysql分割槽表使用
一 什麼是分割槽表 分割槽表就是按一定規則將一張表分割成多個部分,達到和物理分表同樣的效果,但操作起來更 簡單,不同於物理分表那樣使用時還需要指定使用的資料表。對於使用者來說和操作普通表無差別。二 優勢與限制 1 優勢 2 限制 三 分割槽型別 1 range分割槽 基於乙個給定連續區間範圍,把資料...