国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

MySQL數據庫分區功能的使用教程

2024-07-24 12:44:50
字體:
來源:轉載
供稿:網友

零,什么是數據庫分區
來說一下什么是數據庫分區,以mysql為例。mysql數據庫中的數據是以文件的形勢存在磁盤上的,默認放在/mysql/data下面(可以通過my.cnf中的datadir來查看),一張表主要對應著三個文件,一個是frm存放表結構的,一個是myd存放表數據的,一個是myi存表索引的。如果一張表的數據量太大的話,那么myd,myi就會變的很大,查找數據就會變的很慢,這個時候我們可以利用mysql的分區功能,在物理上將這一張表對應的三個文件,分割成許多個小塊,這樣呢,我們查找一條數據時,就不用全部查找了,只要知道這條數據在哪一塊,然后在那一塊找就行了。如果表的數據太大,可能一個磁盤放不下,這個時候,我們可以把數據分配到不同的磁盤里面去。

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

ALTER TABLE `yl_hospital_url` PARTITION BY RANGE(ID) ( PARTITION `p0` VALUES LESS THAN (100000) , PARTITION `p1` VALUES LESS THAN (200000) , PARTITION `p2` VALUES LESS THAN (300000) , PARTITION `p3` VALUES LESS THAN (400000) , PARTITION `p4` VALUES LESS THAN (500000) , PARTITION `p5` VALUES LESS THAN (600000) , PARTITION `p6` VALUES LESS THAN (700000) , PARTITION `p6` VALUES LESS THAN (700000) , PARTITION `p7` VALUES LESS THAN (MAXVALUE) ) ;

分區前查詢速度

201657150301061.jpg (600×170)

分區前查詢速度

201657150325809.jpg (465×146)

二,mysql的分區
我覺著吧,mysql的分區只有一種方式,只不過運用不同的算法,規則將數據分配到不同的區塊中而已。
1,mysql5.1及以上支持分區功能
安裝安裝的時候,我們就可以查看一下

[root@BlackGhost mysql-5.1.50]# ./configure --help |grep -A 3 Partition === Partition Support === Plugin Name: partition Description: MySQL Partitioning Support Supports build: static Configurations: max, max-no-ndb

 查看一下,如果發現有上面這個東西,說明他是支持分區的,默認是打開的。如果你已經安裝過了mysql的話

mysql> show variables like "%part%"; +-------------------+-------+ | Variable_name | Value | +-------------------+-------+ | have_partitioning | YES | +-------------------+-------+ 1 row in set (0.00 sec)
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 许昌县| 尉犁县| 桃园县| 安庆市| 太保市| 甘德县| 阳信县| 长子县| 于都县| 吉木乃县| 普安县| 靖远县| 厦门市| 弋阳县| 巨野县| 宁化县| 藁城市| 收藏| 康马县| 桃江县| 临沂市| 东城区| 新乡县| 家居| 梁山县| 西藏| 林口县| 五常市| 镇坪县| 宜阳县| 甘洛县| 泊头市| 焉耆| 靖宇县| 上思县| 廉江市| 晋城| 犍为县| 双城市| 黎川县| 全椒县|