将新列添加到具有数十亿行的列数据库中
我想在一个已经包含数十亿行的表中添加一个新列。新列派生自现有列。
例如,
new_col1 = old_col1 + old_col2
new_col2 = old_col1 / old_col2
我试图通过以下方式做到这一点 -
添加新列
ALTER TABLE table_name
ADD ( column_1 column-definition,
column_2 column-definition,
...
column_n column_definition )
从表中逐个读取行并填充新列的值。
数据库中没有主键。所以我不能提到一个单独的行。要逐个读取行,我必须执行select *,它会产生一个巨大的结果集(考虑数十亿条记录)。
有没有更好的方法来做到这一点?
没有找到相关结果
已邀请:
3 个回复
莽缓逢
同样,查询是针对SQL Server的,但是您的DBMS还有其他选择。 另请阅读Hoopers先生关于在新专栏中添加索引的评论,以确保随着更多数据的添加,
的性能不会变差。更新是一个读写操作,索引将加快读取并略微延迟写入(维护索引),但它应该是值得的。
为陡土
屠创氓读叔