SQL Server 2000:删除和插入大量数据

时间:2011-07-22 21:59:57

标签: sql-server sql-server-2000

我们有一个SQL Server 2000,它有大约6,000,000条记录。并且一列中存储有pdf。

问题是每个月我们删除大约250,000条记录,并在特定日期插入大约250,000条记录。之后没有更新,只有读取。

问题是:最好删除500条记录并插入500条记录然后删除然后插入然后删除并插入等等。

或者一次删除250,000并在500批次中插入250,000个?

哪种选择最佳?并拥有最好的内存管理?

为任何指向MSDN文章或其他内容的人+1。

3 个答案:

答案 0 :(得分:2)

答案 1 :(得分:0)

您可能需要考虑分区。如果您组织它以便一次只删除一个分区,删除将花费几毫秒。见http://msdn.microsoft.com/en-us/library/aa902650(v=sql.80).aspx

答案 2 :(得分:0)

正如您未提及的那样,在应用更改之前删除所有索引的rdbms上插入/删除/更新任何大量数据的标准做法是值得的,并在之后重新应用它们。

有两个原因。

  1. 系统一次性重建索引而不是逐个记录(磁盘上磁头移动较少)的速度更快。

  2. 如果您从头开始重建索引,那么使用它的后续访问可能会更快,因为索引树更有可能更好地平衡。