Char vs SmallInt

Started by Pg Coderover 18 years ago2 messagesgeneral
Jump to latest
#1Pg Coder
pgcoder@gmail.com

Which data type is smaller and will lead to better query performance -
smallint or char?

#2Bruce Momjian
bruce@momjian.us
In reply to: Pg Coder (#1)
Re: Char vs SmallInt

"Pg Coder" <pgcoder@gmail.com> writes:

Which data type is smaller and will lead to better query performance -
smallint or char?

smallint is 2 bytes, usually with 2-byte alignment.

If you declare a column as char it means CHAR(1) which in 8.2 is 5-8 bytes (5
bytes if it's an ascii character) and has 4-byte alignment. In 8.3 it's 2-5
bytes (2 bytes if it's an ascii character) and has 1-byte alignment.

If you declare a column as "char" with the quotes then it's a 1-byte integer
with 1-byte alignment. That'll be smaller than smallint.

--
Gregory Stark
EnterpriseDB http://www.enterprisedb.com