【发布时间】:2018-03-09 12:31:42
【问题描述】:
我有一张手术台,叫它Ops。我们的客户每隔一秒就会通过网络服务查询该表。
有两个进程影响表:
删除过期记录(每天)
插入新记录(每周)
我的目标是在这些过程中将停机时间降至最低。我知道 Oracle,但这是我第一次使用 SQL Server 和 T-SQL。在 Oracle 中,我会进行截断以加快删除过期记录的第一个过程,并进行分区交换以插入新记录。
SQL Server 的分区交换似乎有点难以处理,因为据我所知,必须创建文件组、分区方案和分区函数 (?)。
您对减少停机时间有何建议?
【问题讨论】:
-
按滑动窗口日期范围进行表分区将允许您清除过期数据并按分区增量加载数据。您需要一个分区函数和方案,但不需要单独的文件组。分区方案可以为所有分区指定相同的文件组。
-
Lock escalation 也可能导致停机。
标签: sql sql-server performance