Это должна быть дата и время. Даты в основном хранятся в базе данных в виде числа, поэтому относительно быстро увидеть, находится ли значение между двумя числами.
На вашем месте я бы рассмотрел возможность разбить данные на несколько таблиц (по месяцам, годам и т. Д.) И создать представление для объединения данных из всех этих таблиц. Таким образом, любая функциональность, которая нуждается во всем наборе данных, может использовать представление, и все, что требует данных только за месяцы, может получить доступ к конкретной таблице, которая будет намного быстрее, поскольку она будет содержать намного меньше данных.