当前位置: 首页 > 面试题库 >

从表中删除所有数据的最佳方法是什么?

席安康
2023-03-14
问题内容

我有一个600万行的SQLite表。

从表中删除是很慢的。

删除表然后重新创建它似乎更快。

我正在使用它进行数据库导入。

删除表会是更好的方法还是有办法快速删除所有数据?


问题答案:

一个很大的不同是DELETE FROM TABLEDML和DROP TABLEDDL。对于数据库事务,这非常重要。最后的结果可能是相同的,但是这些操作有很大的不同。

如果您只是要了解性能,那么可以删除并重新创建表。如果您需要在导入中进行事务处理,则必须注意,DDL不包含在内,因此无法回滚。



 类似资料:
  • 问题内容: 用jQuery删除表行的最佳方法是什么? 问题答案: 你是对的: 如果您的行中包含,则此方法很好用,例如: 如果没有,则可以使用jQuery的大量选择器中的任何一个。

  • 问题内容: 这是更新mysql SET字段,从字段中删除特定值的最佳方法。 例如。值分别为1,2,3,4,5的字段类别?我想从列表中删除“ 2”: 但是,如果“ 2”是列表中的第一个或最后一个值,该怎么办? 我如何用一个查询处理所有3种情况? 问题答案: 如果您需要从集合中删除的值不能多次出现,则可以使用以下方法: 看到它在这里工作。如果该值可以多次出现,则将删除所有出现的值:

  • 我有URL字符串,如: “http://www.xyz/path1/path2/path3?param1=value1&param2=value2”。 我需要获得这个不带参数的url,所以结果应该是: “http://www.xyz/path1/path2/path3”。 我是这样做的: 有没有更好的办法呢?

  • 问题内容: 我发现自己想在许多应用程序中滚动删除早于(x)天的行。在交通繁忙的桌子上最有效地做到这一点的最佳方法是什么? 例如,如果我有一个存储通知的表,而我只想将其保留7天。还是我只想保留31天的高分。 现在,我继续存储存储的纪元时间,并运行一个cron作业,该作业每小时运行一次,并按如下所示增量删除它们: 我这样做直到mysql_affected_rows返回0。 我曾经一次完成所有操作,但是

  • 问题内容: 我有100个表,每个表40,000行。我想进入MySQL并从 所有* 表中删除 所有 行。 * …如果可能的话,用1条陈述? 我想保留数据库和表。 问题答案: 我不这么认为(但以前我做错了)。我倾向于做的是那些情况,这是一个两步过程。 如果您的DBMS具有命令行界面,则可以使用它来创建脚本来完成大部分工作,例如: 第一位只是简单地创建一个文件(或Windows下的文件),该文件包含所拥

  • 问题内容: 连接字符串上的用户标识不是变量,并且与程序的用户标识(例如,可以是GUID)不同。如果您的连接字符串的用户ID是静态的,您如何审核日志删除? 记录插入/更新/删除的最佳位置是通过触发器。但是使用静态连接字符串,很难记录谁删除了某些内容。有什么选择? 问题答案: 使用SQL Server,您可以使用CONTEXT_INFO将信息传递给触发器。 我在必须使用触发器(例如,表上的多个写入路径