Sebagian besar operasi tercepat untuk integer
plain biasa , tetapi perbedaannya sangat kecil dan biasanya tidak terlalu mengganggu Anda saat mengoptimalkan kinerja.
Ukuran penyimpanan lebih relevan, tetapi perbedaan antara berbagai tipe integer masih sangat kecil dan seringkali hampir tidak relevan, terkadang hilang karena padding dan alignment. Ada tipe data lain yang dapat menghabiskan lebih banyak ruang.
smallint
(int2
) menempati 2 byte di disk dan di RAM.integer
(int
, int4
) menempati 4 byte di disk dan di RAM.bigint
(int8
) menempati 8 byte di disk dan di RAM.
Detail untuk tipe numerik di Postgres di manual.
Ada berbagai faktor lain untuk ukuran penyimpanan sebenarnya. Anda harus mempertimbangkan overhead halaman dan tuple, perataan dan padding, kemungkinan nilai NULL, pengindeksan ...
Detail:
Ada beberapa potensi untuk mengoptimalkan, tetapi biasanya tidak banyak. Berkonsentrasilah pada pemilihan tipe data yang sesuai untuk data Anda dan jangan khawatir tentang perbedaan kecil dalam penyimpanan dan kinerja, kecuali jika Anda tahu persis apa yang Anda lakukan.