我正在研究类似系统的工作流。我有一个任务表和状态字段。status 的值可以是 New、ready、processing、error、abort、done 之一。
我有大约 7 个进程,它们将根据不同的情况触发以更改任务状态的值。大多数情况下,每个进程都将处理自己的数据集,并且每次最多只能处理 5000 条记录。但是如果数据达到大约 200 万条记录,我仍然会看到一些僵局。我用 SQL Profiler 检查,看起来像是一些相关的页面资源。我不擅长 sql server 性能调优,也不是很了解。
由于每天都会归档非活动任务,因此我正在考虑重新设计表格以支持大约 1000 万条记录。
几个选择可能是:
- 根据状态创建拆分表。
- 根据状态创建包含静态数据和支持的表的主表
这种情况有什么好的做法吗?
谢谢!