从SQL Server 2008中删除大量数据

人气:553 发布:2022-10-16 标签: sql-server-2008 sql-delete

问题描述

我有一个场景,我必须在多个表中进行更新,这些表相互依赖,例如具有关系,具有来自网页的大量数据,其中有许多文本框、复选框和下拉列表。

我使用jQuery.ajax保存数据。在那里编写了新的数据保存方法,并正在运行。

现在很难处理用于更新目的的大量数据。

我有一个想法,就是删除所有数据并将其另存为新行。这是不是一个好主意?

在记住更新所有这些记录后,我应该在此处做些什么?我必须花一周时间来编写一个Update方法。

请在此方案中指导我。

推荐答案

您的问题很模糊,但我认为您是这样说的:

我可以将数据插入我的数据库 更新我的数据看起来很困难,所以我更喜欢直接删除然后再插入(因为我已经编写了代码)

我要说这是个坏主意,原因如下(毫无疑问还有更多原因):

即使只是删除,您仍然需要确定要删除的正确行、以正确的顺序从表中删除等。因此,无论如何都不太可能节省很多时间 您将向应用程序添加不必要的复杂性和额外的维护工作:事务处理、要维护的其他代码、权限更改等。 以触发器和/或过程的形式向数据库添加服务器端逻辑将变得更加困难,因为删除不一定真的意味着删除,它可能意味着更新的开始(我是指逻辑上的,而不是物理上的),这是一种巨大的痛苦,维护起来非常困难,而且可能会破坏基于DML操作或事件的任何代码、跟踪或审计 数据库将需要执行更多日志记录,因为您已将一个操作分成两个

也许您有很好的理由想要避免更新,但"很难编写"不应该是其中之一(如果我将您的情况过于简单化,请原谅)。

如果你准确地解释什么是"困难",给出一些关于"大量数据"含义的背景知识,展示一些说明你的困难的表结构和代码,你可能会得到一个更有用的答案。

610