title: Postgres. Can I expect a good speedup by switching BIGINT to INT
body: <p>This Postgres database got tables of all sizes up to 10 million rows. Almost all have a BIGINT primary key counting from 1 and up.</p>
  
  <p>Since BIGINT is 64 bits, but 10 million rows are well within the 2 billion maximum of INT, would it be worthwhile converting those BIGINT columns into INT (32 bits) and SMALLINT (16 bits) to speed up some heavy duty SQLs? Storing indexes/tables more compactly should give us a higher cache hit ratio. How much of a speedup could I expect if any? And are there any disadvantages by not using BIGINT? (assuming reaching max of INT/SMALLINT will never be an issue)</p>