首页 > 技术文章 > 高性能可扩展MySQL数据库设计及架构优化 电商项目(慕课)第2章 电商实例数据库结构设计

jiang910 2018-11-29 20:33 原文

关于MySQL分区表

 

确认MySQL服务器是否支持分区表

mysql> show plugins;

 

MySQL分区表特点

在逻辑上为 一个表,在物理上存储在多个文件中

HASH分区的键值必须是一个INT类型的值,或通过函数可以转为INT类型

如:PARTITON BY HASH(UNIX_TIMESTAMP(login_time))

       PARTITON 4;

RANGE分区

RANGE分区适用场景

              分区键为日期或时间类型

LIST分区

             按分区键取值的列表进行分区

             同范围分区一样,各分区的列表值不能重复

 

查看表分区信息:

      select table_name,partition_name,partition_description,table_rows from information_schema.`partition` where table_name='custmoer_login_log';

增加分区

ALTER TABLE custmoer_login_log ADD PARTITON(PARTITON p3 values less than(2018));

删除分区

ALTER TABLE custmoer_login_log DROP PARTITON p0;

版本5.7以上,归档分区历史数据非常方便

 

ALTER TABLE customer_login_log exchange PARTITION p1 WITH table arch_customer_login_log;

ALTER TABLE arch_customer_login_log engine=ARCHIVE;更小,但不能写操作

 第三章1-3 12分钟

推荐阅读