我处理的数据集包含2亿行数据。这是我面临的问题的简化形式。
我当前的SQL(精确的SQLite)表看起来像这样
timestamp foo
1 251
2 459
3 147
我想添加一个新的列bar
,其值为693,589,289(按此顺序)以获取
timestamp foo bar
1 251 693
2 459 589
3 147 289
你可以想象使用UPDATE table SET new_value WHERE cond
非常慢。
我打开任何解决方案。即使是那些包含数据库重建的人,但当然如果有一个神奇的单行班轮那么做也会很好!
答案 0 :(得分:0)
插入大数据表通常不会很慢。我想"处理"这种情况需要花费很多时间。
您可以通过尝试具有相同条件的select语句来检查是否是这种情况。
如果条件很慢,您应该优化表格。通常,您应该在每个列上添加索引,并与许多数据集进行比较。
答案 1 :(得分:0)
我正在考虑一个涉及创建新表的解决方案。
让我调用我的原始表'A',我想将它迁移到表'B'(这是A的克隆,但有一个我要插入的额外列)
对于A中的每一行,我只需要附加新的列值并将新创建的行插入到B中。
我正在研究的100GB数据需要一段时间但可能。