sql-server-2008 - 从 SQL Server 2008 中删除大量数据

标签 sql-server-2008 sql-delete

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

我正在使用 jQuery.ajax 来保存数据。新的数据保存方法已写入其中并且正在运行。

现在处理大量数据进行更新非常困难。

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

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

请在这种情况下指导我。

最佳答案

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

  • 我可以将数据插入我的数据库
  • 更新我的数据看起来很困难,所以我宁愿先删除,然后再次插入(因为我已经编写了该代码)

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

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

也许您有充分的理由想要避免更新,但“很难写”不应该是其中之一(如果我过于简化您的情况,请道歉)。

如果您准确解释什么是“困难”,提供一些有关“大量数据”含义的背景知识,显示一些表结构和代码来说明您的困难等,您可能会得到更有用的答案。

关于sql-server-2008 - 从 SQL Server 2008 中删除大量数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10749776/

相关文章:

mysql - 如何删除一个表的一半记录?

sql - 检查数据是否已存在并插入的更好方法

database-design - SQL Server 2008 : When can I NOT modify table structure? 什么时候不能删除一行?

sql-server-2008 - SQL Server 2008 R2 Management Studio - 没有 Intellisense

sql - 使用 JOIN 时如何在 MS Access 中删除?

c# - 删除 'int value' 中的未知列 'where clause'

mysql - 为什么删除许多 BLOB 会锁定状态为 : enforcing dict cache limit? 的 MySQL 数据库

sql-server - SQL Server需要对数据进行分区,但只有标准版

sql - 将非标准联接转换为标准联接

php - 删除超过 30 天的 mysql 记录