PHP特级视频教程 笔记心得  第十四集 MySQL分区实验 MySQL分区实战

来源:互联网 发布:淘宝图片怎么拍摄 编辑:程序博客网 时间:2024/04/30 11:05


物理上:通过水平分表,垂直分表;
但水平分表在逻辑上增加sql维护 修改的难度。
维护代价过高,按照某种hash算法进行拆分,简单的拆分模式如取模方式。
分区技术从mysql5.1以后以插件技术,有力避免如上的弊端,成为解决海量数据存储的有力方法。
物理上做了切分,逻辑上表明保持不变。
mysql在5.1版本后由甲骨文添加的此功能。

watch  -n1   ls  -lh 实时跟踪中断
alt+f1-f6  六个终端的切换

create  table  part_tab(c1  int  default null,c2  varchar(30) default null ,c3  date default null)engine=myisam
partition  by range(yeare(c3))(

partition p0  values  less  than(1995),
partition p0  values  less  than(1996),
partition p0  values  less  than(1997),
partition p0  values  less  than maxvalue

);

mysql的共享表空间和独占表空间都是针对数据存储方式而言的。

共享表空间:
某个数据库的所有的表操作,索引文件全部放在一个文件中,
默认这个共享表空间的文件路径在data目录下,默认的文件名
为:ibdata1 初始化为10M。

独占表空间:
每一个表都会将生成以独立的文件方式来进行存储,每一个表都有一个.frm表描述文件,还有一个.ibd文件,其中这个文件包括了单

独一个表的数据内容以及索引内容,默认情况下他的存储位置也是在表的位置之中,

show engines;默认数据库引擎为myisam

在innodb引擎如何实现分区?
只有设置为独立表空间,才能在inodb下设置
vi  /etc/my.cnf

innodb_data_home_dir=/usr/local/mysql/var  代表为数据库文件所存放的目录
innodb_log_group_home_dir=ibdata1:10M:autoextend 为日志存放目录
innodb_file_per_table=1 是否使用共享以及独占表空间  以上几个参数必须在一起将加入。

pkill  mysqld
pstree |grep  mysqld
mysql_safe --user=mysql
ll -h  列出数据文件