Я работаю над системой Workflow. У меня одна таблица задач и поле статуса. Значением статуса может быть Новое, Готово, Обработка, Ошибка, Прерывание, Готово.
У меня есть около 7 процессов, которые будут запускаться в зависимости от ситуации, чтобы изменить значение статуса задачи. В большинстве случаев каждый процесс будет работать со своим собственным набором данных и каждый раз обрабатывает до 5000 записей. Но я все еще вижу тупик, если данные достигают около 2 миллионов записей. Я проверяю с помощью SQL Profiler, похоже, что какой-то ресурс страницы связан. Я плохо разбираюсь в настройке производительности sql-сервера и не очень хорошо в этом разбираюсь.
Поскольку неактивная задача будет архивироваться каждый день, я думаю переделать таблицу, чтобы она поддерживала около 10 миллионов записей.
Возможны некоторые варианты:
Есть ли какие-нибудь хорошие практики для такого рода ситуаций?
Спасибо!