Int сравненията са по-бързи от сравненията с varchar, поради простия факт, че int заемат много по-малко място от varchars.
Това важи както за неиндексиран, така и за индексиран достъп. Най-бързият начин е индексирана колона int.
Както виждам, сте маркирали въпроса postgreql, може да се интересувате от използването на пространството на различните типове дати:
int
полетата заемат между 2 и 8 байта, като 4 обикновено са повече от достатъчни ( -2147483648 до +2147483647 )- типовете знаци заемат 4 байта плюс действителните низове.