国产探花免费观看_亚洲丰满少妇自慰呻吟_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)
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 阳原县| 木兰县| 中西区| 浦北县| 泸州市| 迁安市| 钟山县| 田林县| 沁阳市| 清水县| 富顺县| 西充县| 历史| 平陆县| 虞城县| 汉阴县| 库车县| 洪江市| 澄迈县| 万安县| 左权县| 汽车| 固原市| 观塘区| 微山县| 玉溪市| 武强县| 汉寿县| 乌拉特中旗| 财经| 克东县| 汉沽区| 二连浩特市| 寿光市| 工布江达县| 昭苏县| 滨州市| 三原县| 澜沧| 荣成市| 金沙县|