Вы можете извлечь выгоду из разбиения таблицы.И SQL Server, и Oracle хорошо поддерживают эту функцию.Разделение таблиц позволяет вам сохранить одну логическую таблицу, к которой вы будете продолжать запрашивать, но СУБД фактически разбивается на несколько физических файлов, которые она поддерживает с указанными вами правилами.Например, у вас могут быть разделы на основе даты, поэтому строки с CreateDate, которые попадают в 1990, 2000, 2010 или 2020 г., будут размещены в соответствующем разделе.
СУБД также использует разделы для использования параллелизма иможет повысить производительность при запросах, охватывающих несколько разделов.
За пределами разбиения базы данных вы не увидите увеличения производительности без разделения таблицы, которая сложна в обслуживании и усложняет запросы.
Документация Microsoft по секционированию
Обновление: если вы рассматриваете возможность использования целого числа для вашей даты и времени для повышения производительности, на самом деле было бы, если бы вы поместили свой индекс в целочисленную дату.Причина этого в том, что целые числа легче сортировать, поэтому создание индекса B-Tree улучшит общую скорость этого конкретного индекса.Однако, если вы не собираетесь запрашивать использование этого столбца (в предложении where или group by), не рекомендуется просто добавлять индексы, потому что вы можете это сделать.На самом деле, я не удивлюсь, если ваше хранилище индекса будет больше, чем размер вашей таблицы.