MySQL5.1 引入表分区功能,使得MySQL在处理大表的能力上得到增强。使用过表分区功能的朋友应该知道,MySQL5.1中使用表分区的时候,对字段是有要求的,那就是必须是整数型,或者可以将其他类型的字段通过函数转换成整数型才可以。

/* with MySQL 5.1  ivan @ MySQL实验室(mysqlab.net/blog/) */

CREATE TABLE mysqlab_net

(

ivan DATE

)

PARTITION BY RANGE (TO_DAYS(ivan))

(

PARTITION p01 VALUES LESS THAN (TO_DAYS(’2007-08-08′)),

PARTITION p02 VALUES LESS THAN (TO_DAYS(’2008-08-08′)),

PARTITION p03 VALUES LESS THAN (TO_DAYS(’2009-08-08′)),

PARTITION p04 VALUES LESS THAN (MAXVALUE));

SHOW CREATE TABLE mysqlab_netG

*************************** 1. row ***************************

TABLE: mysqlab_net

CREATE TABLE: CREATE TABLE `mysqlab_net` (

`ivan` date DEFAULT NULL

) ENGINE=InnoDB DEFAULT CHARSET=latin1

/*!50100 PARTITION BY RANGE (TO_DAYS(ivan))

(PARTITION p01 VALUES LESS THAN (733261) ENGINE = InnoDB,

PARTITION p02 VALUES LESS THAN (733627) ENGINE = InnoDB,

PARTITION p03 VALUES LESS THAN (733992) ENGINE = InnoDB,

PARTITION p04 VALUES LESS THAN MAXVALUE ENGINE = InnoDB) */

怎么样?读取的时候谁知道那个数字是多少?(不过也可以通过自定义函数实现还原)

MySQL5.5中加入了columns关键字,使得可读性好多了。看例子

/* with MySQL 5.5   ivan @ MySQL实验室(mysqlab.net/blog/) */

CREATE TABLE `mysqlab.net`

(

ivan DATE

)

PARTITION BY RANGE  COLUMNS(ivan)

(

PARTITION p01 VALUES LESS THAN (’2007-08-08′),

PARTITION p02 VALUES LESS THAN (’2008-08-08′),

PARTITION p03 VALUES LESS THAN (’2009-08-08′),

PARTITION p04 VALUES LESS THAN (MAXVALUE);

SHOW CREATE TABLE `mysqlab.net`G

*************************** 1. row ***************************

TABLE: mysqlab.net

CREATE TABLE: CREATE TABLE `mysqlab.net` (

`ivan` date DEFAULT NULL

) ENGINE=InnoDB DEFAULT CHARSET=latin1

/*!50500 PARTITION BY RANGE  COLUMNS(ivan)

(PARTITION p01 VALUES LESS THAN (’2007-08-08′) ENGINE = InnoDB,

PARTITION p02 VALUES LESS THAN (’2008-08-08′) ENGINE = InnoDB,

PARTITION p03 VALUES LESS THAN (’2009-08-08′) ENGINE = InnoDB,

PARTITION p04 VALUES LESS THAN (MAXVALUE) ENGINE = InnoDB) */

另外MySQL5.5表分区(partition) columns关键字还支持多字段,比如 partition by range columns(a,b);将支持清空指定的分区TRUNCATE PARTITION。MySQL5.5有望在明年(2010)夏季GA。另外MySQL5.5支持的半同步功能在高可用上的使用,让人非常期待!

Note:在使用表分区的时候,并不是分区越多越好,要根据情况而定,因为会出现意想不到的问题。

Related posts:

mysql 5.5 分区_MySQL 5.5 表分区功能增强相关推荐

  1. mysql按照时间自动创建分区表_mysql 表分区、按时间函数分区、删除分区、自动添加表分区...

    mysql 表分区的几种方式: RANGE分区:基于属于一个给定连续区间的列值,把多行分配给分区. LIST分区:类似于按RANGE分区,区别在于LIST分区是基于列值匹配一个离散值集合中的某个值来进 ...

  2. mysql 表分区、按时间函数分区、删除分区、自动添加表分区

    mysql 表分区的几种方式: RANGE分区:基于属于一个给定连续区间的列值,把多行分配给分区. LIST分区:类似于按RANGE分区,区别在于LIST分区是基于列值匹配一个离散值集合中的某个值来进 ...

  3. mysql水平分区方案_SQL Server表分区(水平分区及垂直分区)

    什么是表分区? 表分区分为水平表分区和垂直表分区,水平表分区就是将一个具有大量数据的表,进行拆分为具有相同表结构的若干个表:而垂直表分区就是把一个拥有多个字段的表,根据需要进行拆分列,然后根据某一个字 ...

  4. mysql 5.7 引擎_MySQL 5.7 学习:功能性能的提升

    1.9:多线程脏页刷写 innodb_page_cleaners,表示刷写BP脏页的线程数,5.6.2开始从master线程中独立出来,5.7.4之后开始支持多线程flush,默认是4.这个值必须小于 ...

  5. oracle 分区字段作用,oracle表分区的作用

    表空间及分区表的概念 表空间:(推荐学习:web前端视频教程) 是一个或多个数据文件的集合,所有的数据对象都存放在指定的表空间中,但主要存放的是表, 所以称作表空间 分区表: 当表中的数据量不断增大, ...

  6. 分区表(表分区的具体作用、什么时候需要分区、表分区的优点)、表分区的几种类型及操作方法(range/hash/list/虚拟列/Interval/组合分区)、普通表转分区表的方法、分区表的其它操作

    文章目录 分区表(谨慎使用,了解即可) 表空间及分区表的概念 表分区的具体作用 什么时候需要分区 表分区的优点 表分区的几种类型及操作方法 范围分区(range) 哈希分区(hash) 列表分区(li ...

  7. mysql反模式_myfat: MyFat是MyBatis的DAO功能增强插件

    MyFat让MyBatis更胖 简介 | Intro MyFat是MyBatis的DAO功能增强插件,利用全功能持久层工具jSqlBox来补足MyBatis缺少的功能.MyFat需Java8或以上. ...

  8. mysql 增加分区_mysql在原有表的基础上添加分区

    我们现在有一张表,tb_member_login_logs 用户登录日志表,但数据量太大,需要分区,建议新增一个days字段,int类型,值为 Ymd. ALTER TABLE `tb_member_ ...

  9. mysql导致根目录爆满_MYSQL临时表导致根分区爆满问题分析

    问题现象 突然接到线上Zabbix告警信息,报MYSQL所在的主机/分区不足15%,内容如下: Trigger: app-ali-prod-db1 / 可用空间不足 15% Trigger statu ...

最新文章

  1. Linux环境下命令行截图【转】
  2. 迷你世界维护服务器几点到几点,迷你世界服务器房间是什么 | 手游网游页游攻略大全...
  3. 从JVM的常见异常来看Tomcat中内存的设置
  4. WebAssembly 系列(五)为什么 WebAssembly 更快?
  5. 中国程序员容易发音错误的单词
  6. Kubernetes中部署Docker registry2.7.1并通过containerd实现拉取镜像到应用Pod的部署
  7. jquery.query-*.js 操作url
  8. linear-gradient radical-gradient详解
  9. oracle linux查看磁盘,fdisk命令_Linux fdisk命令使用详解:查看磁盘使用情况与磁盘分区...
  10. 『设计模式』HR问了我朋友什么是简单工厂模式,竟被质疑是否学过设计模式,是否是计算机专业?
  11. 【转载】作者苗晓平介绍的飞鸽传书
  12. 并发编程中的重重量级模型和轻量级模型
  13. 《统计学习方法》(李航)读书笔记(完结)超级火爆的总结
  14. SpringBoot学习笔记(4):自定义的过滤器
  15. ubuntu下载linux源码
  16. 三维全景虚拟现实:现在的VR全景行业怎么样?|时空克隆 三维视频融合 投影融合 点卯 魔镜系列
  17. 二层交换机、三层交换机和路由器的区别
  18. 如何访问云服务器的共享文件,怎么访问云服务器的共享文件夹
  19. mba辅导班哪个机构好?全方位解答<title>mba辅导班</title>
  20. VC#复习资料(是轩~)

热门文章

  1. 触摸屏开发_Microchip推出新型电容触摸式控制器,加速汽车触摸屏EMI认证
  2. Java 18 发布:甲骨文公司已开始将Java纳入其软件许可审计
  3. 测试使用navicat工具将MySQL格式SQL文件导入到MogDB数据库
  4. 招商银行周伟:Fintech数据开放平台之数据库军规和内功修炼(含PPT)
  5. Faiss源码剖析:类结构分析
  6. 大数据管理:构建数据自己的“独门独院”
  7. 使用app测试Modelarts在线服务
  8. 使用Django的models创建mysql数据库
  9. 2021-10-28 python爬虫学习
  10. LeetCode 剑指Offer 64.求1,2到n的和, 不使用循环/判断及乘除