[数据库]MySQL 指定各分区路径

0

2016-11-08 18:00:44

介绍

可以针对分区表的每个分区指定各自的存储路径,对于innodb存储引擎的表只能指定数据路径,因为数据和索引是存储在一个文件当中,对于MYISAM存储引擎可以分别指定数据文件和索引文件,一般也只有RANGE、LIST分区、sub子分区才有可能需要单独指定各个分区的路径,HASH和KEY分区的所有分区的路径都是一样。RANGE分区指定路径和LIST分区是一样的,这里就拿LIST分区来做讲解。

一、MYISAM存储引擎CREATE TABLE th (id INT, adate DATE)engine='MyISAM'PARTITION BY LIST(YEAR(adate))( PARTITION p1999 VALUES IN (1995, 1999, 2003) DATA DIRECTORY = '/data/data' INDEX DIRECTORY = '/data/idx', PARTITION p2000 VALUES IN (1996, 2000, 2004) DATA DIRECTORY = '/data/data' INDEX DIRECTORY = '/data/idx', PARTITION p2001 VALUES IN (1997, 2001, 2005) DATA DIRECTORY = '/data/data' INDEX DIRECTORY = '/data/idx', PARTITION p2002 VALUES IN (1998, 2002, 2006) DATA DIRECTORY = '/data/data' INDEX DIRECTORY = '/data/idx');

注意:MYISAM存储引擎的数据文件和索引文件是分库存储所以可以为数据文件和索引文件定义各自的路径,INNODB存储引擎只能定义数据路径。

二、INNODB存储引擎CREATE TABLE thex (id INT, adate DATE)engine='InnoDB'PARTITION BY LIST(YEAR(adate))( PARTITION p1999 VALUES IN (1995, 1999, 2003) DATA DIRECTORY = '/data/data', PARTITION p2000 VALUES IN (1996, 2000, 2004) DATA DIRECTORY = '/data/data', PARTITION p2001 VALUES IN (1997, 2001, 2005) DATA DIRECTORY = '/data/data', PARTITION p2002 VALUES IN (1998, 2002, 2006) DATA DIRECTORY = '/data/data' );

指定路径之后在原来的路径中innodb生成了4个指向数据存储的路径文件,myisam生成了一个th.par文件指明该表是分区表,同时数据文件和索引文件指向了实际的存储路径。

三、子分区

1.子分区CREATE TABLE tb_sub_dir (id INT, purchased DATE)ENGINE='MYISAM' PARTITION BY RANGE( YEAR(purchased) ) SUBPARTITION BY HASH( TO_DAYS(purchased) ) ( PARTITION p0 VALUES LESS THAN (1990) ( SUBPARTITION s0 DATA DIRECTORY = '/data/data_sub1' INDEX DIRECTORY = '/data/idx_sub1', SUBPARTITION s1 DATA DIRECTORY = '/data/data_sub1' INDEX DIRECTORY = '/data/idx_sub1' ), PARTITION p1 VALUES LESS THAN (2000) ( SUBPARTITION s2 DATA DIRECTORY = '/data/data_sub2' INDEX DIRECTORY = '/data/idx_sub2', SUBPARTITION s3 DATA DIRECTORY = '/data/data_sub2' INDEX DIRECTORY = '/data/idx_sub2' ), PARTITION p2 VALUES LESS THAN MAXVALUE ( SUBPARTITION s4 DATA DIRECTORY = '/data/data_sub3' INDEX DIRECTORY = '/data/idx_sub3', SUBPARTITION s5 DATA DIRECTORY = '/data/data_sub3' INDEX DIRECTORY = '/data/idx_sub3' ) );

2.子分区再分CREATE TABLE tb_sub_dirnew (id INT, purchased DATE)ENGINE='MYISAM' PARTITION BY RANGE( YEAR(purchased) ) SUBPARTITION BY HASH( TO_DAYS(purchased) ) ( PARTITION p0 VALUES LESS THAN (1990) DATA DIRECTORY = '/data/data' INDEX DIRECTORY = '/data/idx' ( SUBPARTITION s0 DATA DIRECTORY = '/data/data_sub1' INDEX DIRECTORY = '/data/idx_sub1', SUBPARTITION s1 DATA DIRECTORY = '/data/data_sub1' INDEX DIRECTORY = '/data/idx_sub1' ), PARTITION p1 VALUES LESS THAN (2000) DATA DIRECTORY = '/data/data' INDEX DIRECTORY = '/data/idx' ( SUBPARTITION s2 DATA DIRECTORY = '/data/data_sub2' INDEX DIRECTORY = '/data/idx_sub2', SUBPARTITION s3 DATA DIRECTORY = '/data/data_sub2' INDEX DIRECTORY = '/data/idx_sub2' ), PARTITION p2 VALUES LESS THAN MAXVALUE DATA DIRECTORY = '/data/data' INDEX DIRECTORY = '/data/idx' ( SUBPARTITION s4 DATA DIRECTORY = '/data/data_sub3' INDEX DIRECTORY = '/data/idx_sub3', SUBPARTITION s5 DATA DIRECTORY = '/data/data_sub3' INDEX DIRECTORY = '/data/idx_sub3' ) );

也可以给个分区指定路径后再给子分区指定路径,但是这样没有意义,因为数据的存在都是由子分区决定的。

注意:

1.指定的路径必须存在,否则分区无法创建成功

2.MYISAM存储引擎的数据文件和索引文件是分库存储所以可以为数据文件和索引文件定义各自的路径,INNODB存储引擎只能定义数据路径

参考:

RANGE分区:http://www.cnblogs.com/chenmh/p/5627912.html

LIST分区:http://www.cnblogs.com/chenmh/p/5643174.html

COLUMN分区:http://www.cnblogs.com/chenmh/p/5630834.html

HASH分区:http://www.cnblogs.com/chenmh/p/5644496.html

KEY分区:http://www.cnblogs.com/chenmh/p/5647210.html

子分区:http://www.cnblogs.com/chenmh/p/5649447.html

分区建索引:http://www.cnblogs.com/chenmh/p/5761995.html

分区介绍总结:http://www.cnblogs.com/chenmh/p/5623474.html

总结

通过给各个分区指定各自的磁盘可以有效的提高读写性能,在条件允许的情况下是一个不错的方法。

备注:

作者:pursuer.chen

博客:http://www.cnblogs.com/chenmh

本站点所有随笔都是原创,欢迎大家转载;但转载时必须注明文章来源,且在文章开头明显处给明链接。

《欢迎交流讨论》

本文网址:http://www.shaoqun.com/a/264261.html

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:admin@shaoqun.com。

MYSQL

0

mysql 分区指定路径_[数据库]MySQL 指定各分区路径相关推荐

  1. mysql权限层级体系_数据库mysql有哪些权限?层级有哪些?

    我们想要运行一个文件时,有时候会出现只有管理员才能打开这类软件,这就是权限对于用户的限制.那么在我们最近学习的数据库mysql中,也有这样的权限需要我们去注意吗?小编想说当然有,而且还不少!今天就数据 ...

  2. mysql中自动求和_数据库mysql如何进行字段的自动求和?

    数据库MySQL是如何进行字段的自动求和的呢?当我们需要对字段进行求和时,该怎么操作呢?具体的代码编程又是怎样的呢? 数据表qb_shop_content里有N篇文章,fid=1-N;篇里的jinbi ...

  3. mysql数据去重语句_数据库 mysql 语句

    LAMP: Linux系统 A阿帕奇服务器 Mysql数据库 Php语言 mysql:常用代码 create table CeShi1 ( Uid varchar(50) primary key, P ...

  4. mysql explain详解_数据库mysql(1)——B+TREE索引原理

    一.B+Tree索引详解 1.什么是索引? 索引:加速查询的数据结构. 2.索引常见数据结构: #1.顺序查找: 最基本的查询算法-复杂度O(n),大数据量此算法效率糟糕. #2.二叉树查找(bina ...

  5. mysql 与 xls 连接_数据库MySQL与xls文件的互导

    最近的一个项目需要将xls表导入到MySQL数据库中和将MySQL数据表导出到xls表中,在网上搜了很多资料,经过多次尝试终于实现了功能,废话不多说,在这粘贴出代码,希望可以帮到需要的朋友. 一.将. ...

  6. mysql转储导入错误_数据库MYSQL导入SQL文件时错误的解决方法(2种)

    从服务器数据库用navicate导出的.sql文件后再用navicate导入到本地的数据库中会出现若干条记录的错误: [Err] 1064 – You have an error in your SQ ...

  7. mysql语句成绩等级_数据库mysql中case如何给成绩划分等级?

    在表格中如果我们要给不同分段的成绩评选等级,只需要使用筛选功能输入评定的条件即可.那么在mysql中我们该如何输出跟表格一样结果呢?这里有的小伙伴说可以用我们刚学习的case函数来尝试.但是作为最基础 ...

  8. mysql打错了怎么办_数据库出错了怎么办?

    下面是网上收集的多种方法,大家可以测试下. (一) 昨晚浏览自己的Blog的时候,突然发现所有页面都无法显示,到后台查看的时候,发现一个"Table 'xxx' is marked as c ...

  9. mysql清空数据库所有表的命令_mysql清空表数据命令是什么?_数据库,mysql,清空表数据...

    mysql服务无法启动怎么解决_数据库 mysql服务无法启动的解决方法是:1.配置环境变量:2.在mysql安装目录下,新建my.ini文件,设置默认字符集.端口.存储引擎等:3.执行[mysqld ...

最新文章

  1. 新开窗口不被拦截的方法-window.open和表单提交form
  2. 贝叶斯统计:信噪对偶与Dawid定理
  3. JDK1.5中的线程池(java.util.concurrent.ThreadPoolExecut
  4. UVA 12904 Load Balancing 暴力
  5. pearson特征选择matlab,使用sklearn做特征选择
  6. php 5.6.30 漏洞,PHP 5.6.30 正式发布,安全漏洞修复
  7. java ldap tls_ldap之tls 双向认证要我命
  8. centos7本地安装mysql_centos7安装mysql
  9. 力扣-387 字符串中的第一个唯一字符
  10. zookeeper-架构设计与角色分工-《每日五分钟搞定大数据》
  11. virtualbox 中,虚拟机网络使用NAT方式时,其它机器对虚拟机的访问
  12. python超市管理系统实训报告_超市管理系统总结报告
  13. arm linux usb打印机,嵌入式Linux系统中打印机驱动的移植
  14. 招募3DGIS技术合伙人
  15. 【C++背包】稀奇古怪的多重背包问题
  16. Halcon创建文件夹
  17. python rfm 细分_Python中的客户细分
  18. css-reset样式重置
  19. 图表嵌入到数据表格下方_在excel图表下方添加数据表 excel图表添加数据表
  20. 如何利用Goby进行外围打点

热门文章

  1. python 高阶函数
  2. android 静音
  3. .NET Framework/.NET Compact Framework/.NET Micro Framework功能集比较
  4. 基于Springboot实现送水公司信息管理
  5. linux求文件共有行。多个文件求共有行交集完全匹配-w
  6. Python_note7 文件和数据格式化+wordcloud库
  7. 用 async/await 来处理异步
  8. HTML的BODY内标签介绍
  9. 成功抓取douban 所有电影
  10. CSS3之创建3D场景