Porovnání int jsou rychlejší než porovnání varchar, protože int zabírají mnohem méně místa než varchars.
To platí pro neindexovaný i indexovaný přístup. Nejrychlejší způsob, jak jít, je indexovaný int sloupec.
Jak vidím, označili jste otázku postgreql, mohlo by vás zajímat využití prostoru různými typy dat:
int
pole zabírají 2 až 8 bajtů, přičemž 4 jsou obvykle více než dostatečné (-2147483648 až +2147483647)- typy znaků zabírají 4 bajty plus skutečné řetězce.