mysql中如何判斷是否支援分區_Mysql

來源:互聯網
上載者:User

mysql可以通過下面語句判斷是否支援分區:

SHOW VARIABLES LIKE '%partition%';

如果輸出:

have_partitioning   YES

表示支援分區。

或者通過:

SHOW PLUGINS;

顯示所有外掛程式,如果有partition ACTIVE STORAGE ENGINE GPL 外掛程式則表明支援分區

ps:什麼是資料庫分區

前段時間寫過一篇關於mysql分表的的文章,下面來說一下什麼是資料庫分區,以mysql為例。mysql資料庫中的資料是以檔案的形勢存在磁碟上的,預設放在/mysql/data下面(可以通過my.cnf中的datadir來查看),一張表主要對應著三個檔案,一個是frm存放表結構的,一個是myd存放表資料的,一個是myi存表索引的。如果一張表的資料量太大的話,那麼myd,myi就會變的很大,尋找資料就會變的很慢,這個時候我們可以利用mysql的資料分割函數,在物理上將這一張表對應的三個檔案,分割成許多個小塊,這樣呢,我們尋找一條資料時,就不用全部尋找了,只要知道這條資料在哪一塊,然後在那一塊找就行了。如果表的資料太大,可能一個磁碟放不下,這個時候,我們可以把資料分配到不同的磁碟裡面去。

分區的二種方式

1,橫向分區

什麼是橫向分區呢?就是橫著來分區了,舉例來說明一下,假如有100W條資料,分成十份,前10W條資料放到第一個分區,第二個10W條資料放到第二個分區,依此類推。也就是把表分成了十分,根用merge來分表,有點像哦。取出一條資料的時候,這條資料包含了表結構中的所有欄位,也就是說橫向分區,並沒有改變表的結構。

2,縱向分區

什麼是縱向分區呢?就是豎來分區了,舉例來說明,在設計使用者表的時候,開始的時候沒有考慮好,而把個人的所有資訊都放到了一張表裡面去,這樣這個表裡面就會有比較大的欄位,如簡歷,而這些簡介呢,也許不會有好多人去看,所以等到有人要看的時候,在去尋找,分表的時候,可以把這樣的大欄位,分開來。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.