При проектировании схемы данных ключевое правило — выбирать типы, которые занимают минимум места на диске. Например, не стоит использовать BIGINT (8 байт) там, где достаточно INTEGER (4 байта), а для флагов лучше применять BOOLEAN. Экономия места напрямую влияет на то, что нужно для postgresql в плане объема кэша: чем меньше размер данных, тем больше строк поместится в RAM, ускоряя выборку.