Я работаю над управляемым данными веб-приложением, которое использует базу данных SQL 2005 (стандартная версия).
Одна из таблиц довольно большая (8 миллионов + строки с примерно 30 столбцами). Размер таблицы, очевидно, влияет на производительность веб-сайта, который выбирает элементы из таблицы с помощью хранимых процедур. Таблица индексируется, но производительность остается низкой из-за большого количества строк в таблице - это часть проблемы - таблица одинаково читается и обновляется, поэтому мы не можем добавлять / удалять индексы, не выполнив одно из следующих действий: операции хуже.
Цель, которую я имею здесь, состоит в том, чтобы повысить производительность при выборе элементов из таблицы. Таблица содержит «текущие» данные и старые / почти не затронутые данные. Наиболее эффективное решение, которое мы можем придумать на данном этапе, состоит в том, чтобы разделить таблицу на 2, то есть одну для старых элементов (до определенной даты, скажем, 1 января 2005 года) и одну для более новых элементов (равную или до 1 января 2005 года). .
Нам известны такие вещи, как распределенные многораздельные представления, но все эти функции требуют версии Enterprise Edition, которую клиент не будет покупать (и нет, выбрасывать оборудование тоже не будет).