MYSQL 表分區的 3 方法

來源:互聯網
上載者:User

標籤:blog   http   io   ar   檔案   資料   sp   2014   art   

背景知識:

            表分區是把邏輯上同一範圍的資料儲存到同一個檔案中,就和超市一樣,把同類商品放在同一個地區,把不同的商品放在不同的地方。不同的是超市中

            是根據用途分類的,表分區是根據它的取值區間來分的。

            分區有什麼用?

                              1、分區後可以用多個檔案來儲存表中的資料,而這幾個檔案可以位於不同的硬碟上,這樣就可以同時利用多個硬碟的IO能力。

                              2、分區後鎖就會更靈活,如果一次要鎖定大量的資料行,而表沒有分區,MYSQL 可能會為了減小在鎖上的開銷,會把行鎖升

                                   級為表鎖,如果表分區了,要訪問的資料行只在表的一兩個分區中,這樣就可以只鎖定這兩個分區。而不要鎖定整個表。

                              3、由於目前MYSQL一個資料庫儲存在一個檔案夾中,好像檔案夾不可以跨硬碟,所以第 1 點說的好處就沒有了,不過在別的

                                  資料庫如SQL Server中這個好處是有的。

方法 1、

         partition by range (column_name) partition pt... values less than方法

 

         create table T1(X int ,Y int)
         partition by range (X)(
         partition p0 values less than(10),
         partition p3 values less than(100),
         partition p5 values less than maxvalue);

         就這樣給T1 根據X的取值分成了三個區

         

方法 2

       partiton by list (column) partition pt.. values in(value1,value2,...);

 

       create table T2(X int ,Y int)
       PARTITION BY LIST(X)(
       partition p1 values in (1,2,3),
       partition p2 values in (4,5,6),
       partition p3 values in (7,8,9))
       ;

       

        這裡是方法1、方法2 建立的檔案。

MYSQL 表分區的 3 方法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.