mysql 分区表测试_mysql分区表测试.doc

mysql分区表测试.doc

eb2c923d0cc12629b1f39287dbaf0f9d.gif

还剩

8页未读,

继续阅读

下载文档到电脑,马上远离加班熬夜!

亲,喜欢就下载吧,价低环保!

内容要点:

partition_name part, partition_expression expr, partition_description descr, table_rows from information_schema.partitions where table_schema = schema() and table_name='test'; 可以查看表具有哪几个分区、分区的方法、分区中数据的记录数等信息 4. explain partitions select 语句通过此语句来显示扫描哪些分区,及他们是如何使用的.);这样的语句会报错。MySQL Database Error: A PRIMARY KEY must include all columns in the table's partitioning function;CREATE TABLE emptt (empno varchar(20) NOT NULL ,empname varchar(20) ,deptno int(11),birthdate date NOT NULL,salary int(11) ,primary key (empno,salary))PARTITION BY range (salary)(PARTITION p1 VALUES less than (100),PARTITION p2 VALUES less than (200));在主键中加入 salary 列就正常。2. MySQL 分区处理 NULL 值的方式如果分区键所在列没有 not null 约束。如果是 range 分区表,那么 null 行将被保存在范围最小的分区。如果是 list 分区表,那么 null 行将被保存到 list 为 0 的分区。在按 HASH 和 KEY 分区的情况下,任何产生 NULL 值的表达式 mysql 都视同它的返回值为 0。为了避免这种情况的产生,建议分区键设置成 NOT NULL。3. 分区键必须是 INT 类型,或者通过表达式返回 INT 类型,可以为 NULL。唯一的例外是当分区类型为 KEY 分区的时候,可以使用其他类型的列作为分区键( BLOB or TEXT 列除外)。4. 对分区表的分区键创建索引,那么这个索引也将被分区,分区键没有全局索引一说。5. 只有 RANG 和 LIST 分区能进行子分区,HASH 和 KEY 分区不能进行子分区。6. 临时表不能被分区。四、 获取 mysql 分区表信息的几种方法1. show create table 表名可以查看创建分区表的 create 语句 2. show table status 可以查看表是不是分区表 3. 查看 information_schema.partitions 表 select Alter table emp remove partitioning;--不会丢失数据重建分区:这和先删除保存在分区中的所有记录,然后重新插入它们,具有同样的效果。它可用于整理分区碎片。 ALTER TABLE emp rebuild partition p1,p2;优化分区:如果从分区中删除了大量的行,或者对一个带有可变长度的行(也就是说,有VARCHAR,BLOB,或 TEXT 类型的列)作了许多修改,可以使用“ALTER TABLE ... OPTIMIZE PARTITION”来收回没有使用的空间,并整理分区数据文件的碎片。 ALTER TABLE emp optimize partition p1,p2;分析分区:读取并保存分区的键分布。ALTER TABLE emp analyze partition p1,p2;修补分区:修补被破坏的分区。 ALTER TAB

发表评论

暂无评论,赶快抢占沙发吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值