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

删除全部/批量插入

江子石
2023-03-14
问题内容

首先,我要说我正在SQL Server 2005上运行,所以我没有访问权限MERGE

我有一个约有15万行的表,每天都要从一个文本文件中进行更新。当行从文本文件中掉出时,我需要从数据库中删除它们,如果它们发生更改或是新的,则需要相应地进行更新/插入。

经过一些测试,我发现从性能角度来看,完全删除然后从文本文件中批量插入要比逐行读取文件进行更新/插入要快得多,这是指数级的。但是,我最近遇到了一些讨论如何MERGE使用临时表和UPDATE语句输出模拟SQL
Server 2008功能的帖子。

我对此很感兴趣,因为我正在研究当表没有行时如何消除Delete / Bulk
Insert方法中的时间。我仍然认为这种方法将是最快的,因此我正在寻找解决空表问题的最佳方法。

谢谢


问题答案:

我认为您最快的方法是:

  1. 从表中删除所有外键和索引。
  2. 截断您的表。
  3. 批量插入您的数据。
  4. 重新创建您的外键和索引。


 类似资料:
  • 问题内容: 我在SQL Server 2005中有一张表,其中有大约40亿行。我需要删除大约20亿行。如果我尝试在单个事务中执行此操作,则事务日志将填满,并且将失败。我没有多余的空间来增加事务日志。我认为最好的方法是批处理delete语句(约10,000个批?)。 我可能可以使用游标执行此操作,但是这样做是一种标准/简单/明智的方法吗? PS此表没有标识列作为PK。PK由整数外键和日期组成。 问题

  • 本文向大家介绍mysql批量删除大量数据,包括了mysql批量删除大量数据的使用技巧和注意事项,需要的朋友参考一下 mysql批量删除大量数据 假设有一个表(syslogs)有1000万条记录,需要在业务不停止的情况下删除其中statusid=1的所有记录,差不多有600万条, 直接执行 DELETE FROM syslogs WHERE statusid=1 会发现删除失败,因为lock wai

  • 问题内容: 我正在使用reactFire,Firebase和reactJS构建一个简单的待办事项应用程序。我遇到的问题是当我尝试批量删除列表中已完成的条目时。 该循环过早结束,即在删除所有完成的条目之前,因为调用了render函数。 问题答案: 您可以使用多位置更新一次性删除所有已完成的项目:

  • 本文向大家介绍ThinkPHP删除栏目(实现批量删除栏目),包括了ThinkPHP删除栏目(实现批量删除栏目)的使用技巧和注意事项,需要的朋友参考一下 前段时间发表了一个删除栏目的随笔,当时实现的功能是删除一条信息,这次来实现一下批量删除栏目。 我们需要达到的是这样一个效果: 选中批量删除按钮后可以选中所有该页面的栏目,这个是前端页面的实现,在这里就不多说了,我们直接进入正题:批量删除的功能。 1

  • 本文向大家介绍nhibernate 全部删除孤立项,包括了nhibernate 全部删除孤立项的使用技巧和注意事项,需要的朋友参考一下 示例 保存/更新/删除对象时,请检查关联并保存/更新/删除找到的所有对象。除此之外,当一个对象从关联中删除并且不与另一个对象(孤立的)关联时,也将其删除。

  • 本文向大家介绍PHP实现批量删除(封装),包括了PHP实现批量删除(封装)的使用技巧和注意事项,需要的朋友参考一下 前台 后台 以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持呐喊教程!