采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师您好,我的业务中有一个大表(600W),该表只有最近的几个月是热数据,使用的是mysql5.6,现在想对该表进行分区,有以下几点疑问
可以进行转换并在该列上加索引。
如果不走分区建不会锁全表,但是会扫描所有分区,这样性能很差
最好在并联条件中包括分区建
谨慎使用分区表,在上线前多做性能测试,如果只有少数热数据可以进行持续归档,把冷数据物理的移动到归档表中。
非常感谢!
1. 老师能否详细讲一下持续归档操作?是通过定时事务调用存储过程实现吗? 2. 使用datetime类型列做分区键时,需要提前将该键作为主键的一部分,接下来是否需要对该列追加索引吗?会与之前定义的部分主键重复而造成索引冗余吗? 3. 如果我对大表,在每个月的15号动态的添加下一个月的分区,然后删除最旧的一个分区,能否评估下这种操作有什么影响或建议? 4. 一般的数据备份都是怎么计划的?是定期执行mysqldump吗?
1.可以自己写脚本,存储过程或是使用pt_archive程序来实现 2.innodb表只能有一个主键,你这种情况只能用联合主键,这可能会降低表的性能 3.最好是在业务低峰期进行操作,另外注意备份好要删除的数据 4.一般是用xtrabackup这样的程序进行物理备份。
登录后可查看更多问答,登录/注册
面面俱到讲解影响MySQL性能的各个因素,让MySQL架构了然于胸。
1.6k 35
1.2k 29
1.1k 17
1.0k 15