在DBMaster内部如何处理ALTER TABLE这个语句?(From DBMR1740)

~ 0 min
2016-02-24 04:36

1. 在DBMaster4.1x之前(包括4.1x),”ALTER TABLE”语句将复制另一个内部表(select into),所以它会占据双倍的磁盘空间并写入日志(请注意日志满的问题)

 2. 在DBMaster4.2x之后的版本(包括4.2x),仅在表的尾部添加一个字段并且默认值为null就能够非常轻松地进行ALTER TABLE(仅修改表模式,与表中的数据关系不大)。除了这种情况,所有的‘ALTER TABLE’SQL命令也需要占据双倍磁盘空间并写日志文件(也请注意日志满的问题)。

 3. 解决的办法是:创建一个新的内部表-> 从修改的源表中选择数据库到新的内部表-> 删除已修改的表-> 重命名新的内部表-> 标记内部表为public。

 4. SELECT...INTO也会写入日志文件,它会占有巨大的日志文件空间。在对一个大表执行'ALTER TABLE'之前,请检查日志文件空间是否充足。

平均分: 0 (0 投票)

你不能对该内容发表评论

标签