Я согласен с замечанием Майка Вудхауса о том, что текущий размер не должен быть проблемой - и спрашивающий соглашается.
Большинство коммерческих СУБД предоставляют поддержку фрагментированных таблиц в тех или иных, под одним именем или несколькими другими. Один из ключевых вопросов заключается в том, существует ли разумный способ разделения данных на фрагменты. Один из распространенных способов - сделать это на основе даты, чтобы все значения, скажем, для ноября 2008 года, входили в один фрагмент, значения для октября 2008 года - в другой, и так далее. Это имеет преимущества, когда приходит время удалять старые данные. Вероятно, вы можете удалить фрагмент, содержащий данные за октябрь 2001 года (семь лет хранения данных), не затрагивая другие фрагменты. Этот вид фрагментации также может помочь с «устранением фрагментов»; если запрос явно не должен считывать данные из данного фрагмента, он останется непрочитанным, что может дать вам великолепное преимущество в производительности. (Например, если оптимизатор знает, что запрос относится к дате октября 2008 года, он будет игнорировать все фрагменты, кроме того, который содержит данные октября 2008 года.)
Существуют и другие методы фрагментации - циклический перебор распределяет нагрузку по нескольким дискам, но означает, что вы не можете извлечь выгоду из удаления фрагментов.