Повечето операции са най-бързи за обикновено integer
, но разликата е много малка и обикновено най-малкото ви притеснява, когато оптимизирате производителността.
Размерът на хранилището е по-уместен, но разликата между различните типове цели числа все още е много малка и често почти не е уместна, понякога се губи при подпълване и подравняване. Има други типове данни, които могат да заемат много повече място.
smallint
(int2
) заема 2 байта на диска и в RAM.integer
(int
, int4
) заема 4 байта на диска и в RAM.bigint
(int8
) заема 8 байта на диска и в RAM.
Подробности за числови типове в Postgres в ръководството.
Има различни други фактори за действителния размер на хранилището. Трябва да вземете предвид допълнителните разходи за страница и кортеж, подравняване и подпълване, възможни NULL стойности, индексиране ...
Подробности:
Има известен потенциал за оптимизиране, но обикновено не е много. Най-добре се съсредоточете върху избора на подходящ тип данни за вашите данни и не се тревожете за незначителни разлики в съхранението и производителността, освен ако не знаете точно какво правите.