Int-sammenligninger er hurtigere end varchar-sammenligninger, for det simple faktum, at ints fylder meget mindre end varchars.
Dette gælder både for uindekseret og indekseret adgang. Den hurtigste vej at gå er en indekseret int-kolonne.
Som jeg kan se, at du har tagget spørgsmålet postgreql, er du måske interesseret i pladsforbruget af forskellige datotyper:
int
felter optager mellem 2 og 8 bytes, hvor 4 normalt er mere end nok ( -2147483648 til +2147483647 )- tegntyper optager 4 bytes plus de faktiske strenge.