在我的应用程序中,我必须删除表格的全部内容并多次重新填充
在那种情况下,我有两个解决方案:
1-删除,重新创建并填充表格
"DROP TABLE IF EXISTS TABLE_NAME"
2-删除所有内容并重新填充
"DELETE FROM TABLE_NAME"
现在哪种解决方案更有效?
在我的应用程序中,我必须删除表格的全部内容并多次重新填充
在那种情况下,我有两个解决方案:
1-删除,重新创建并填充表格
"DROP TABLE IF EXISTS TABLE_NAME"
2-删除所有内容并重新填充
"DELETE FROM TABLE_NAME"
现在哪种解决方案更有效?
从http://www.sqlite.org/lang_delete.html:
截断优化
当 DELETE 语句中省略 WHERE 并且被删除的表没有触发器时,SQLite 使用优化来擦除整个表内容,而不必单独访问表的每一行。这种“截断”优化使删除运行得更快。
无论您做什么,如果您有任何指向此表的外键,请注意不要完全混淆这些引用。