MySQL分区技术

标签: mysql 分区 技术 | 发表时间:2014-10-06 22:39 | 作者:张胖嘟嘟
出处:http://www.iteye.com

mysql分区技术是mysql5.1以后出现的新技术,能替代分库分表技术,它的优势在于只在物理层面来降低数据库压力。

常用的MySQL分区类型:

1.RANGE分区:基于属于一个给定的连续区间的列值,把多行分配给分区(基于列)。

2.LIST分区:类似于按RANGE分区,区别在于LIST分区是基于列值匹配一个离散值集合的某个值来进行选择(基于列值是固定值的)。

3.HASH分区:基于用户自定义的表达式的返回值来进行分区选择,该表达式使用将要插入列表中的这些行的列值进行计算,这个函数可以包含mysql中有效的产生非负整数值的任何表达式。

4.KEY分区:类似于HASH分区,却别在于KEY分区只支持计算一列或者多列,且mysql服务器提供其自身的哈希函数。

日常中用的比较多的就是RANGE,LIST分区

实例:

CREATE TABLE TEST{
    store_id INT NOT NULL
}
PARTITION BY RANGE(store_id)(
   PARTITION p0 VALUES LESS THAN(6),
   PARTITION p1 VALUES LESS THAN(11)
);

以上意思是 当store_id值小于6就会分配到p0分区 小于11则是p1分区

CREATE TABLE TEST{
    store_id INT NOT NULL
}
PARTITION BY LIST(store_id)(
   PARTITION p0 VALUES IN (1,2,3)  ,
   PARTITION p1 VALUES IN (4,5,6)
);

 



已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [mysql 分区 技术] 推荐:

MySQL分区技术

- - 数据库 - ITeye博客
mysql分区技术是mysql5.1以后出现的新技术,能替代分库分表技术,它的优势在于只在物理层面来降低数据库压力. 常用的MySQL分区类型:. 1.RANGE分区:基于属于一个给定的连续区间的列值,把多行分配给分区(基于列). 2.LIST分区:类似于按RANGE分区,区别在于LIST分区是基于列值匹配一个离散值集合的某个值来进行选择(基于列值是固定值的).

mysql分区举例---子分区

- - ITeye博客
mysql允许RANGE和LIST分区上再进行HASH和KEY的子分区. 建立ts3表和ts2一模一样. 已有 0 人发表留言,猛击->> 这里<<-参与讨论. —软件人才免语言低担保 赴美带薪读研.

mysql分区举例---HASH分区

- - ITeye博客
    hash分区的目的是将数据均匀的分布到预先定义的各个分区中,保证各分区的数据数量大致一致. 在RANGE和LIST分区中,必须明确指定一个给定的列值或列值集合应该保存在哪个分区中;而在HASH分区中,MYSQL自动完成这些工作,用户所要做的只是基于将要被散列的列值指定一个列值或者表达式,以及指定呗分区的表将要被分割成的分区数量.

MySql中的常见技术

- - 数据库 - ITeye博客
MySQL 存储引擎该如何选择. 一、InnoDB支持事务,MyISAM不支持,这一点是非常之重要. 事务是一种高级的处理方式,如在一些列增删改中只要哪个出错还可以回滚还原,而MyISAM就不可以了. 二、MyISAM适合查询以及插入为主的应用,InnoDB适合频繁修改以及设计到安全性就高的应用. 三、InnoDB支持外键,MyISAM不支持.

php+mysql+memcache实战型技术测试(答案公布)

- 逆风迎上 - caoz的和谐blog
出两个变态的题目,题目很变态,但是都是实战中遇到的真实案例,. 1:我写一个程序,既要使用mysql也要使用memcache,. 第一行是 mysql_connect,第二行是memcache_connect. 换过来写,第一行是memcache_connect,第二行是mysql_connect.

mysql技术内幕-innodb存储引擎读书笔记(上)

- - MySQLOPS 数据库与运维自动化技术分享
第一章、mysql体系结构和存储引擎. 1.1、数据库和实例的区别. 数据库:物理操作系统或其他形式文件类型的集合. 在mysql下数据库文件可以是frm,myd,myi,ibd结尾的文件. 数据库实例:由数据库后台进程/线程以及一个共享内存区组成. mysql数据库是但进程多线程的程序. 1.2、mysql的体系结构.

mysql技术内幕-innodb存储引擎读书笔记(中)

- - MySQLOPS 数据库与运维自动化技术分享
4.1、innodb存储引擎表类型. innodb表类似oracle的IOT表(索引聚集表-indexorganized table),在innodb表中每张表都会有一个主键,如果在创建表时没有显示的定义主键则innodb如按照如下方式选择或者创建主键. 首先表中是否有唯一非空索引(unique not null),如果有则该列即为主键.

mysql技术内幕-innodb存储引擎读书笔记(下)

- - MySQLOPS 数据库与运维自动化技术分享
锁是区别文件系统和数据库系统的一个关键特性. 锁是用来管理对共享文件的并发访问. innodb会在行级别上对数据库上锁. 不过innodb存储引擎会在数据库内部其他多个地方使用锁,从而允许对不同资源提供并发访问. 例如操作缓冲池中的LRU列表,删除,添加,移动LRU列表中的元素,为了保证一致性,必须有锁的介入.

MySQL如何避免使用Linux的swap分区而提升读写性能

- timo - 服务器运维与网站架构|Linux运维|互联网研究
Linux有很多很好的内存、IO调度机制,但是并不会适用于所有场景. 对于DBA来说Linux比较让人头疼的一个地方是,它不会因为MySQL很重要就避免将分配给MySQL的地址空间映射到swap上. 对于频繁进行读写操作的系统而言,数据看似在内存而实际上在磁盘是非常糟糕的,响应时间的增长很可能直接拖垮整个系统.

关于删除MySQL Logs的一点记录 - 刘浩de技术博客

- - 博客园_首页
五一前,一个DBA同事反馈,在日常环境中删除一个大的slow log文件(假设文件大小10G以上吧),然后在MySQL中执行flush slow logs,会发现mysqld hang住. 今天尝试着重现了此问题,这里简要分析下原因. 构造slow log (将long_query_time设成了0);.