mysql数据库分区表

来源:8-1 数据库分库分表的几种方式

sherlock陈

2020-03-24

老师您好,我的业务中有一个大表(600W),该表只有最近的几个月是热数据,使用的是mysql5.6,现在想对该表进行分区,有以下几点疑问

  1. 分区键想使用日期类型datetime的列,是否需要对该列进行转化成date?
  2. 对于分区表来说,如果不走分区键,是否会出现全表锁?
  3. 对于分区表进行表关联的时候,有什么需要注意的地方?
  4. 对于分区有什么建议?或推荐的工具?
写回答

1回答

sqlercn

2020-03-24

  1. 可以进行转换并在该列上加索引。

  2. 如果不走分区建不会锁全表,但是会扫描所有分区,这样性能很差

  3. 最好在并联条件中包括分区建

  4. 谨慎使用分区表,在上线前多做性能测试,如果只有少数热数据可以进行持续归档,把冷数据物理的移动到归档表中。

0
3
sqlercn
回复
sherlock陈
1.可以自己写脚本,存储过程或是使用pt_archive程序来实现 2.innodb表只能有一个主键,你这种情况只能用联合主键,这可能会降低表的性能 3.最好是在业务低峰期进行操作,另外注意备份好要删除的数据 4.一般是用xtrabackup这样的程序进行物理备份。
2020-03-24
共3条回复

MySQL提升课程 全面讲解MySQL架构设计

面面俱到讲解影响MySQL性能的各个因素,让MySQL架构了然于胸。

4419 学习 · 547 问题

查看课程