Char vs Varchar
Char a Varchar jsou běžně používané znakové datové typy v databázovém systému, které vypadají podobně, i když mezi nimi existují rozdíly, pokud jde o požadavky na úložiště. Při navrhování databází se používá mnoho datových typů. Z nich získávají znakové datové typy významnější místo, protože se používají k ukládání velkého množství informací ve srovnání s čísly. Znakové datové typy se používají pro ukládání znaků nebo alfanumerických dat v řetězcích. Typ znakové sady databáze je definován při vytváření databáze. Opět platí, že z těchto datových typů jsou běžně používané Char a Varchar. Tento článek vysvětluje, co jsou tyto dva datové typy, char a varchar, a jaký je mezi nimi rozdíl.
Co je Char?
Definice ISO znaku je znak a datový typ char se používá k uložení znaku. Znak (n) může uložit n pevné velikosti znaků. Maximální počet znaků, které může znak (n) pojmout, je 255 znaků a délka řetězce musí mít hodnotu od 1 do 8000. Znak je o padesát procent rychlejší než varchar, a proto můžeme dosáhnout lepšího výkonu, když pracujeme s char. Char používá při ukládání dat alokaci statické paměti. Když chceme ukládat řetězce se známou pevnou délkou, je lepší použít znak char. Například při ukládání ‚Ano‘a ‚Ne‘jako ‚Y‘a ‚N‘můžeme použít datový typ char. A také při ukládání čísla národního průkazu totožnosti osoby s deseti znaky můžeme použít datový typ jako char (10).
Co je Varchar?
Jak název napovídá, varchar se nazývá variabilní znak. Varchar se používá k ukládání alfanumerických dat, která mají proměnnou délku. Maximální počet znaků, které tento datový typ pojme, je 4000 znaků a maximální velikost úložiště je 2 GB. Velikost úložiště varchar je skutečná délka dat plus dva bajty. Varchar je pomalejší než char a při ukládání dat používá dynamickou alokaci paměti. Varchar můžeme použít při ukládání dat, jako jsou jména, adresy, popisy atd. Nejen řetězce, ale i neřetězcové typy, jako jsou typy dat, „12. března 2015“, „2015-03-12“lze také uložit do datový typ varchar.
Jaký je rozdíl mezi Char a Varchar?
• Ačkoli char a varchar jsou znaková datová pole, char je datové pole s pevnou délkou a varchar je datové pole s proměnnou velikostí.
• Char může ukládat pouze znaky s pevnou velikostí ne-Unicode řetězců, ale varchar může ukládat proměnné velikosti řetězců.
• Char je lepší než varchar pro data, která se často mění. Důvodem je, že řádek dat s pevnou délkou není náchylný k fragmentaci.
• Char bude zabírat pouze pevné místo, které je definováno při deklaraci proměnné. Ale varchar zabere prostor na základě vložených dat a také zabere 1 nebo 2 bajty jako předpona délky.
• Pokud jsou data menší než 255 znaků, je přidělen 1 bajt a pokud jsou data větší než 255 znaků, jsou vyhrazeny 2 bajty. Pokud použijeme znak k uložení příznaku 'Y' a 'N', použije k uložení jeden bajt, ale když použijeme varchar, bude uložení příznaku trvat dva bajty včetně dalšího bajtu jako předpony délky.
Shrnutí:
Char vs Varchar
Char a varchar jsou nejpoužívanějším znakovým datovým typem dostupným v databázích. Char se používá k ukládání řetězce s pevnou délkou, zatímco varchar se používá k ukládání řetězců, které mají různou délku. Chcete-li získat lepší výkon dat, je důležitější vybrat správné datové typy pro pole tabulek ve vaší databázi. Je vhodnější používat nejmenší datové typy, které dokážou data správně uložit, protože zabírají méně místa v paměti.