4.10 Jaké jsou rozdíly mezi různými znakovými typy?
Typ | Interní název | Poznámky |
VARCHAR(n) | varchar | n určuje maximální délku |
CHAR(n) | bpchar | řetězec je do dané délky rozšířen mezerami |
TEXT | text | bez omezení délky |
BYTEA | bytea | pole bytů nespecifikované délky |
"char" | char | jeden znak |
Na interní názvy můžete narazit v systémovém katalogu nebo v některých chybových hlášeních.
Čtyři první typy jsou tzv. varlena typy (první čtyři byty na disku jsou obsahují délku, ostatní obsahují vlastní data). Skutečně obsazený prostor je tedy o něco málo větší než deklarovaná velikost. Na druhou stranu, delší řetězce jsou komprimovány, takže obsazený prostor na disku může být menší než se čeká.
VARCHAR(n) je vhodný pro ukládání různě dlouhých řetězců u kterých známe délkové omezení, TEXT pro řetězce bez omezení délky (maximum je jeden gigabyte).
CHAR(n) se používá pro uložení stejně dlouhých řetězců. CHAR(n) doplní mezerami na specifikovanou délku, VARCHAR(n) hodnoty se ukládají tak jak jsou. BYTEA je pro ukládání binárních dat - non ASCII hodnot. Všechny zmíněné typy mají podobné výkonové charakteristiky.