我面临着编写两行代码的困境,这两行代码清空我的表或50行代码,每次运行我的蜘蛛时检查重复项。我很想做前者,但我记得在某处读到这是不好的做法。我想知道其他更有经验的程序员是如何看待这种困境的。
答案 0 :(得分:0)
我认为这取决于您通过执行差异检查更新与需要更新的列进行比较时每次插入记录的列数。
例如: 如果您的临时表包含20列,您可以通过更新1列&来执行差异检查更新该表包含一个很好的索引,供您查找要更新的列,然后您应该进行差异检查更新。
但是,如果需要更新尽可能多的列作为插入,或者需要非常复杂的条件来查找要更新的特定行,我认为删除+插入新行并不是一个糟糕的选择。
另外,为了删除整个表,你最好去一些实现的方法而不是删除(例如在sql-server中,有truncate table,相对更快,对于sql-lite,你可以尝试VACUUM,但我不经常使用sqllite,所以我不能确定)