我们有一个SQL Server 2000,它有大约6,000,000条记录。并且一列中存储有pdf。
问题是每个月我们删除大约250,000条记录,并在特定日期插入大约250,000条记录。之后没有更新,只有读取。
问题是:最好删除500条记录并插入500条记录然后删除然后插入然后删除并插入等等。
或者一次删除250,000并在500批次中插入250,000个?
哪种选择最佳?并拥有最好的内存管理?
为任何指向MSDN文章或其他内容的人+1。
答案 0 :(得分:2)
答案 1 :(得分:0)
您可能需要考虑分区。如果您组织它以便一次只删除一个分区,删除将花费几毫秒。见http://msdn.microsoft.com/en-us/library/aa902650(v=sql.80).aspx
答案 2 :(得分:0)
正如您未提及的那样,在应用更改之前删除所有索引的rdbms上插入/删除/更新任何大量数据的标准做法是值得的,并在之后重新应用它们。
有两个原因。
系统一次性重建索引而不是逐个记录(磁盘上磁头移动较少)的速度更快。
如果您从头开始重建索引,那么使用它的后续访问可能会更快,因为索引树更有可能更好地平衡。