在我的应用程序中,我必须删除表格的全部内容并多次重新填充
在这种情况下,我有两个解决方案:
1-下降,撤回并填写表格
"DROP TABLE IF EXISTS TABLE_NAME"
2-删除所有内容并重新填充
"DELETE FROM TABLE_NAME"
现在哪种解决方案更有效?
答案 0 :(得分:7)
来自http://www.sqlite.org/lang_delete.html:
截断优化
当从DELETE语句中省略WHERE并且要删除的表没有触发器时,SQLite使用优化来擦除整个表内容,而无需单独访问表的每一行。这种“截断”优化使删除运行速度更快。
答案 1 :(得分:4)
无论你做什么,如果你有任何外键指向这个表,小心不要完全fubar这些引用。