Есть MSSQL 2008, на нем база, в ней таблица. В нее пишется информация о различных событиях с интервалом в час.
Структура примерно такая:
id int, dimension1 int, dimension2 int, dimension3 int, timerecorded datetime, <разные полезные данные по event'у>
Комбинация dimension1, dimension2, dimension3, timerecorded всегда уникальна.
В пределах же комбинации dimension1, dimension2, dimension3 находится серия записей о событиях. Этакая эмуляция куба.
Наиболее частая выборка — как раз получить значения из dimension1, dimension2, dimension3 за какой-то период времени.
Я сделал clustered index на dimension1, dimension2, dimension3 и простой индекс на timerecorded. Это вообще жизнеспособно?
После внедрения такой структуры все стало работать очень быстро (в таблице около 500 млн. записей).
Через неделю (добавляется около 10000 записей в час) появились проблемы с быстродействием. Причину пока не выяснил, но есть подозрения, что это из-за моей модификации.