随笔分类 -  MySQL 分区

摘要:介绍 mysql分区后每个分区成了独立的文件,虽然从逻辑上还是一张表其实已经分成了多张独立的表,从“information_schema.INNODB_SYS_TABLES”系统表可以看到每个分区都存在独立的TABLE_ID,由于Innodb数据和索引都是保存在".ibd"文件当中(从INNODB_ 阅读全文
posted @ 2017-01-13 15:45 pursuer.chen 阅读(12226) 评论(2) 推荐(2) 编辑
摘要:介绍 可以针对分区表的每个分区指定各自的存储路径,对于innodb存储引擎的表只能指定数据路径,因为数据和索引是存储在一个文件当中,对于MYISAM存储引擎可以分别指定数据文件和索引文件,一般也只有RANGE、LIST分区、sub子分区才有可能需要单独指定各个分区的路径,HASH和KEY分区的所有分 阅读全文
posted @ 2016-11-08 14:06 pursuer.chen 阅读(4913) 评论(0) 推荐(1) 编辑
摘要:介绍 子分区其实是对每个分区表的每个分区进行再次分隔,目前只有RANGE和LIST分区的表可以再进行子分区,子分区只能是HASH或者KEY分区。子分区可以将原本的数据进行再次的分区划分。 一、创建子分区 子分区由两种创建方法,一种是不定义每个子分区子分区的名字和路径由分区决定,二是定义每个子分区的分 阅读全文
posted @ 2016-11-07 09:20 pursuer.chen 阅读(8972) 评论(0) 推荐(5) 编辑
摘要:介绍 KEY分区和HASH分区相似,但是KEY分区支持除text和BLOB之外的所有数据类型的分区,而HASH分区只支持数字分区,KEY分区不允许使用用户自定义的表达式进行分区,KEY分区使用系统提供的HASH函数进行分区。当表中存在主键或者唯一键时,如果创建key分区时没有指定字段系统默认会首选主 阅读全文
posted @ 2016-11-06 11:52 pursuer.chen 阅读(13474) 评论(0) 推荐(1) 编辑
摘要:介绍 基于给定的分区个数,将数据分配到不同的分区,HASH分区只能针对整数进行HASH,对于非整形的字段只能通过表达式将其转换成整数。表达式可以是mysql中任意有效的函数或者表达式,对于非整形的HASH往表插入数据的过程中会多一步表达式的计算操作,所以不建议使用复杂的表达式这样会影响性能。 MYS 阅读全文
posted @ 2016-11-05 15:38 pursuer.chen 阅读(32524) 评论(4) 推荐(5) 编辑
摘要:介绍 LIST分区和RANGE分区非常的相似,主要区别在于LIST是枚举值列表的集合,RANGE是连续的区间值的集合。二者在语法方面非常的相似。同样建议LIST分区列是非null列,否则插入null值如果枚举列表里面不存在null值会插入失败,这点和其它的分区不一样,RANGE分区会将其作为最小分区 阅读全文
posted @ 2016-11-04 18:42 pursuer.chen 阅读(18660) 评论(0) 推荐(3) 编辑
摘要:介绍 COLUMN分区是5.5开始引入的分区功能,只有RANGE COLUMN和LIST COLUMN这两种分区;支持整形、日期、字符串;RANGE和LIST的分区方式非常的相似。 COLUMNS和RANGE和LIST分区的区别 1.针对日期字段的分区就不需要再使用函数进行转换了,例如针对date字 阅读全文
posted @ 2016-11-04 11:40 pursuer.chen 阅读(15835) 评论(0) 推荐(4) 编辑
摘要:介绍 RANGE分区基于一个给定的连续区间范围,早期版本RANGE主要是基于整数的分区。在5.7版本中DATE、DATETIME列也可以使用RANGE分区,同时在5.5以上的版本提供了基于非整形的RANGE COLUMN分区。RANGE分区必须的连续的且不能重叠。使用 “VALUES LESS TH 阅读全文
posted @ 2016-07-12 10:18 pursuer.chen 阅读(23774) 评论(0) 推荐(4) 编辑
摘要:介绍 分区是指根据一定的规则将一个大表分解成多个更小的部分,这里的规则一般就是利用分区规则将表进行水平切分;逻辑上没有发生变化但实际上表已经被拆分成了多个物理对象,每个分成被划分成了一个独立的对象。相对于没有分区的当个表而言分区的表有很多的优势包括: 并发统计查询、快速归档删除分区数据、分散存储、查 阅读全文
posted @ 2016-06-29 19:00 pursuer.chen 阅读(6016) 评论(1) 推荐(2) 编辑