程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> mysql中如何判斷是否支持分區

mysql中如何判斷是否支持分區

編輯:關於MYSQL數據庫

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,縱向分區

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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved