日期:2014-05-17  浏览次数:20560 次

往已有数据的表里增加字段的影响
本帖最后由 liuruiqi2009 于 2012-11-15 16:14:12 编辑 大家好,问个问题,
现在有个SQL2005数据库的核心表,数据量比较大,现在业务需要得增加几个字段,其中有的是可空 有的是不可空的, 数据库和程序方面该注意些什么? 会影响性能吗?   
------最佳解决方案--------------------
1、不要select * 
2、数据量大的话按照业务做分区表。
3、2005不知道出现了filter index没有,如果有,那就在空的字段上使用。
4、注意where条件的编写和索引的利用。
5、几乎不应该出现游标操作。
------其他解决方案--------------------
其实也没啥注意的。因为这种情况在现实系统中还是比较常见。只要按照平时的注意事项来做就可以了
------其他解决方案--------------------
这个要比较一下你本来的表格大小,加入的字段是多少了.
如果你本来就是20-30个字段,现在加入2,3个,那么就基本没啥区别.
如果本来20-30,再加入相同多字段的话,你使用select *的地方性能就有区别了.

这些字段如果只是信息保存,到时读取的话,那么对于你的系统基本没有影响.
------其他解决方案--------------------
强烈建议检查涉及这个表的代码,有无一些会导致报错的地方。虽然工作量大,但是这次检查以后,基本上就不用检查了
------其他解决方案--------------------
1.先用少量的记录把字段加上,在测试平台用程序跑一遍,确保不会因为增加字段造成程序出错。
2.增加字段,建议一个一个地增加,而且先用默认值。
3.字段加好后,往字段填充值时,应该分字段、分批进行,每批10万条,避免超时出错。
------其他解决方案--------------------
 噢,谢谢LS的解答。
因为这张表是核心表,可能牵扯的东西有很多,问下我改后可能影响到的地方有哪些。
我该怎么判断, 是一个个的找这些受影响的地方吗?
------其他解决方案--------------------
谢谢楼上的解答。忘记结贴了,不好意思~~正在检查代码。和用备用的数据库测试。
------其他解决方案--------------------
如果还有其它补充的话,欢迎继续回帖~~