Hầu hết các thao tác đều nhanh nhất đối với integer
đơn giản , nhưng sự khác biệt là rất nhỏ và thường là điều bạn ít quan tâm nhất khi tối ưu hóa hiệu suất.
Kích thước lưu trữ phù hợp hơn, nhưng sự khác biệt giữa các kiểu số nguyên khác nhau vẫn rất nhỏ và thường hầu như không liên quan, đôi khi bị mất đi phần đệm và căn chỉnh. Có những kiểu dữ liệu khác có thể lãng phí nhiều dung lượng hơn.
smallint
(int2
) chiếm 2 byte trên đĩa và trong RAM.
integer
(int
, int4
) chiếm 4 byte trên đĩa và trong RAM.
bigint
(int8
) chiếm 8 byte trên đĩa và trong RAM.
Chi tiết cho các loại số trong Postgres trong sách hướng dẫn.
Có nhiều yếu tố khác cho kích thước lưu trữ thực tế. Bạn phải xem xét chi phí trang và tuple, căn chỉnh và đệm, các giá trị NULL có thể có, lập chỉ mục ...
Chi tiết:
Có một số tiềm năng để tối ưu hóa, nhưng thường không nhiều. Tốt nhất hãy tập trung vào việc chọn một loại dữ liệu thích hợp cho dữ liệu của bạn và đừng lo lắng về những khác biệt nhỏ trong lưu trữ và hiệu suất, trừ khi bạn biết chính xác mình đang làm gì.