MySQL partition分区I
一、 分区的概念
二、 为什么使用分区?(优点)
三、 分区类型
四、 子分区
五、 对分区进行修改(增加、删除、分解、合并)
六、 不同引擎的分区特性
七、 分区的限制性
分区概念
分区针对不同的数据库,具有不同的特性。在这里专门针对MySQL数据库而言。在MySQL数据库里,分区这个概念是从mysql 5.1才开始提供的。不过目前只有在mysql advanced版本里才提供。
分区是把数据库、或它的组成部分(比如表)分成几个小部分。而且专门介绍的都是’水平分区’,即对表的行进行划分。
分区的优点
1. 可以提高数据库的性能;
2. 对大表(行较多)的维护更快、更容易,因为数据分布在不同的逻辑文件上;
3. 删除分区或它的数据是容易的,因为它不影响其他表。
注意:pruning,即截断。意思是说当你查询时,只扫描所需要查询的分区。。其他部分不会扫描。。这就大大地提高了性能。
分区类型
分区具有如下4种类型:
Range分区:是对一个连续性的行值,按范围进行分区;比如:id小于100;id大于100小于200;
List分区:跟range分区类似,不过它存放的是一个离散值的集合。
Hash分区:对用户定义的表达式所返回的值来进行分区。可以写partitions (分区数目),或直接使用分区语句,比如partition p0 values in…..。
Key分区:与hash分区类似,只不过分区支持一列或多列,并且MySQL服务器自身提供hash函数。
具体描述:
分区语法:
create table t(id int,name varchar(20)) engine=myisam partition by range(id);
按range范围进行分区:
create table orders_range
(
id int auto_increment primary key,
customer_surname varchar (30),
store_id int,
salesperson_id int,
order_Date date,
note varchar(500)
) engine=myisam
partition by range(id)
(
partition p0 values less than(5),
partition p1 values less than(10),
partition p3 values less than(15)
);
其实上
相关文档:
为了应用系统的可伸缩性,往往需要对数据库进行scale out设计,scale out设计也就是通过增加数据库处理节点来提高系统整体的处理能力,即增加数据库服务器的数量来分担压力。通过这种方式系统的伸缩性增强了,成本也降低了,但是系统的架构负责了,维护困难了。难免出现系统的宕机或故障。因此,理论上来说,系统的安全性( ......
语法:
/usr/local/mysql/bin/mysqladmin -u username -p newpassword
系统会提示您输入旧密码:
按Enter后,系统将旧的密码改成newpassword,
注意newpassword不是命令,是一个字串,就是新密码的字串,你可以更改成其它的.
-u后面跟着是用户名,就是你所要更改的用户名. ......
将SQL语句放到一个文件中然后告诉mysql从该文件读取输入,eg:
shell>mysql db_name < text_file
如果正在运行mysql,可以使用"source"或"\."命令执行SQL脚本文件:
mysql>source filename
mysql>\. filename
例如,要在数据库test中创建表和插入数据,其中创建表和插入数据的SQL语 ......
政府还有一个让数据库专家摊上更多事情的职能,就是安全控制和数据审计。那些管理着海量数据仓库的企业官员常常得回答诸如“何人何时修改了什么”或者“何人何时查看了什么”这样的提问。那些拥有数以千计的员工,开展着不计其数的业务的企业,每天都会产生出大量的日志记录数据,而且必须将其好好保存 ......
我们用Master-Slaves架构解决了读压力比较大的应用,而我们用Master-Master架构解决了单点服务问题,提供了系统的可用性。但是有时我们面临巨大的读数据压力,特别是web系统,又需要解决单点服务的问题,为应用提供足够高的可用性。这时我们就需要将这两种架构结合起来。这就是Master-Master-Slaves架构。结构图如下
Maste ......