В этой базе данных Postgres есть таблицы всех размеров до 10 миллионов строк. Почти все имеют первичный ключ BIGINT, считая от 1 и выше.
Поскольку BIGINT имеет 64 бита, но 10 миллионов строк находятся в пределах 2 миллиардов максимума INT, стоит ли преобразовывать эти столбцы BIGINT в INT (32 бита) и SMALLINT (16 бит) для ускорения некоторых тяжелых SQL-запросов? Более компактное хранение индексов/таблиц должно дать нам более высокий коэффициент попаданий в кеш. На какое ускорение я могу рассчитывать, если оно вообще есть? И есть ли недостатки, если не использовать BIGINT? (при условии, что достижение максимального значения INT/SMALLINT никогда не будет проблемой)