有一个表,目前已有数据600多万条
现在需要对该表数据结构进行调整,但在保存修改时候提示“将定义更改保存到包含大量数据的表中可能需要很长时间,在保存更改期间,将无法访问表数据。”如果我点是的话,半分钟后会提示超时,但这个数据库已在应用,也不能把超时时间设置太长,请问怎么办呢?
7 个解决方案
#1
用分區表處理大數據表
#2
分区表也不能解决数据结构的修改超时问题吧,其实我只是增加字段。
#3
对要改的字段,新建立一个新字段,然后通过转换到new fields中去.然后删除原来的字段.
如果需要改为原来的名字,再次重建原字段,注意类型.
再把数据传回去,然后再删除new fields
#4
如果是增加字段,就增加一个可以为空的字段,建立后,更改值.然后看你的需要是否改为该字段不为空.
#5
我不需要对以前的字段做修改,现在就是要增加几个字段,而且设置也是可以为空的。如果不设置为空肯定是加不上去的。
#6
加列的话不要用sqlserver管理工具去加,工具加的时候是重建表然后回填数据的,啰嗦
直接alter table table_name add col_name varchar(aaa)这样就行了,很快的
要注意的就是有没有涉及复制,还有如果要回填数据的时候怎么做
直接alter table table_name add col_name varchar(aaa)这样就行了,很快的
要注意的就是有没有涉及复制,还有如果要回填数据的时候怎么做
#7
楼上正解,使用ALTER TABLE进行修改表。
#1
用分區表處理大數據表
#2
分区表也不能解决数据结构的修改超时问题吧,其实我只是增加字段。
#3
对要改的字段,新建立一个新字段,然后通过转换到new fields中去.然后删除原来的字段.
如果需要改为原来的名字,再次重建原字段,注意类型.
再把数据传回去,然后再删除new fields
#4
如果是增加字段,就增加一个可以为空的字段,建立后,更改值.然后看你的需要是否改为该字段不为空.
#5
我不需要对以前的字段做修改,现在就是要增加几个字段,而且设置也是可以为空的。如果不设置为空肯定是加不上去的。
#6
加列的话不要用sqlserver管理工具去加,工具加的时候是重建表然后回填数据的,啰嗦
直接alter table table_name add col_name varchar(aaa)这样就行了,很快的
要注意的就是有没有涉及复制,还有如果要回填数据的时候怎么做
直接alter table table_name add col_name varchar(aaa)这样就行了,很快的
要注意的就是有没有涉及复制,还有如果要回填数据的时候怎么做
#7
楼上正解,使用ALTER TABLE进行修改表。