У меня одного ощущение, что такую тему я уже читал? Такое ощущение, что подняли какую-то старую тему, просто поменяли даты? Даже ответы как "под копирку". И снобизм в отношении размеров таблицы точно такой же, что печально

К сожалению, поиском не нашел в форуме...
Относительно приемлемое решение:
Разделить базу данных на 2: рабочая и архивная часть.
Принять волевое решение, что все данные, созданные, скажем, более 2 лет назад - это архив и тупо перемещать их в архивную базу. Формально, по дате создания без какого-либо дополнительного анализа.
Если в каком-то конкретном случае понадобятся архивные данные в рабочей базе, то по соответствующему документу вернуть данные из архива в рабочую базу. При очередном архивировании эти данные снова будут удалены в архив
Размер таблиц
330 ГБ на одну таблицу - это много! Не с точки зрения оптимизации запросов, а с точки зрения администрирования таких таблиц. Создание полей, создание индексов, переиндексация, создание backup - все это будет чудовищно тормозить на таких размерах
----------------
Только что обратил внимание, что тема двухмесячной давности. Но снобизм в отношении размеров - постоянно возникающий мотив... Как только кто-то заикнется, что размер большой и приведет размер таблицы/базы в байтах, так тут же кто-то "встрянет" на тему, что это немного...