Я работал над базами данных, где мы пытались создавать таблицы с 2B строками данных - это не работает, мы достигли 500M и перепроектировали. Одной из самых больших проблем работы с такой большой таблицей было время, затрачиваемое на удаление - я часто вижу подход, при котором старые записи архивируются, а затем удаляются из основной таблицы. Если таблица достаточно велика, удаление будет продолжаться в течение многих часов после перестроения индексов.
Не уверен, где находится отсечение, но ощущение кишки указывает на то, что таблица> 10M строк, вероятно, слишком большая. Наш подход заключался в разделении данных по датам, поэтому мы получили таблицу данных за неделю, другую сводную таблицу по месяцам и другую сводку по годам, что очень часто встречается в DataWarehousing. Кстати, это было на SQL 7.0, интересно знать, лучше ли БД в этом типе вещей?