首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > Mysql >

不关闭服务情况下,给一表加字段时, 注意事项?解决办法

2012-03-27 
不关闭服务情况下,给一表加字段时, 注意事项?现在做不服务情况下表结构调整方面的摸底。先从一个最简单的情

不关闭服务情况下,给一表加字段时, 注意事项?

现在做不服务情况下表结构调整方面的摸底。 

先从一个最简单的情况入手。 给一个简单的表(没有外键关联)在最后新加一个字段, 这个字段有默认值, 这样从逻辑上不影响此表中已有记录行。 

这样, 针对这个问题, 最先想到的原始想法是直接通过alter语句加一个字段。  

有些疑问:

1, 这样新加字段可能会有什么问题? 从业务逻辑上讲,可以行的通, 但在具体影响上可能会有哪些呢?
2, 看了Facebook的开源实现OSC,它是先新建一个表,跟要改的表一模一样, 再在新表上新加字段, 再把原表里的数据导到新表中。 看似有些绕, 但应该是有它的道理的。 请问, 我那种粗糙的想法, 跟Facebook OSC的想法的差距有哪些?

[解决办法]

引用1, 这样新加字段可能会有什么问题? 从业务逻辑上讲,可以行的通, 但在具体影响上可能会有哪些呢?

[解决办法]
在ALTER 表时,要独占打开表,造成锁表,一般是建立临时表(新结构)再导入旧表数据

热点排行