我有一个SQL表,每天都会更新。哪个更好, 删除现有表并重新插入旧值和新值, 或更新现有值(如果已更改),并添加新值?
答案 0 :(得分:7)
如果大多数数据发生变化,并且不需要完整性检查,回滚等,那么truncating your table将是最有效的。然后重新插入所有内容。
最佳解决方案取决于具体情况和要求。但是,通常我不建议完全删除该表。
答案 1 :(得分:3)
绝对要更新表格中的现有值。
您不应经常删除表并重新创建它只是为了改变某些值。
您应该使用insert,update和delete向表中插入新值,更新已更改的任何现有值,并删除不再需要的值。如果你真的想要清空表,你可以在没有where子句的情况下执行“从[tablename]删除”,这将清除表中的所有值,但不要删除整个表并重新创建它。
答案 2 :(得分:2)
取决于你需要什么...如果您需要的只是一个“实时”数据体,例如活动记录,完全擦除/替换就可以正常工作。
现在,如果您需要任何历史记录,则需要执行更新/插入路由,但任何处于非活动状态的记录都需要一个标记来说明这样的记录。
我几乎总是会选择更新/插入方法,因为您不会丢失任何数据,而当您没有数据时,就会有人需要它。
答案 3 :(得分:0)
为什么要删除旧表并插入旧值?插入和;更新。 您正在尝试完成的更具体的内容可能有助于提供更好的答案。