MySQL:将分区添加到现有表(带数据)?

时间:2012-05-10 16:15:38

标签: mysql

我有一张包含100万条记录的表格。因为我的查询将主要基于一列(32个常量)。我正在尝试添加32个分区使用类型列表。

我的应用程序无法停止,同时会插入一些记录吗?我可以在表中添加分区吗?它是否会影响我的申请。比如锁定一些行duirng分区。

我在互联网上搜索,但在将分区添加到现有表格的故事中没有找到太多材料?

感谢你。

1 个答案:

答案 0 :(得分:4)

执行表迁移(如此操作而不会对应用程序产生任何影响)的常用方法是按照以下步骤操作:

  1. 创建一个包含所需修订的重复表(在您的情况下为分区)
  2. 在原始表上设置一个触发器以插入到重复的表中(这将在短时间内充当复制形式)
  3. 开始从原始表迁移到新表,其速率不会妨碍您的应用程序(例如每次1000行)
  4. 迁移完成后,您将使表格完美同步,现在是时候修改应用程序以开始使用新表格进行读写。
  5. 如果您对使用新表的应用程序功能感到满意,请删除旧表。
  6. 迁移完成,喝啤酒。