Int-vergelijkingen zijn sneller dan varchar-vergelijkingen, vanwege het simpele feit dat ints veel minder ruimte innemen dan varchars.
Dit geldt zowel voor niet-geïndexeerde als voor geïndexeerde toegang. De snelste manier om te gaan is een geïndexeerde int-kolom.
Zoals ik zie dat je de vraag postgreql hebt getagd, ben je misschien geïnteresseerd in het ruimtegebruik van verschillende datumtypes:
int
velden nemen tussen de 2 en 8 bytes in beslag, waarbij 4 meestal meer dan genoeg is ( -2147483648 tot +2147483647 )- tekentypen nemen 4 bytes in beslag plus de daadwerkelijke tekenreeksen.