Char vs Varchar
Char a Varchar jsou běžně používané datové typy znaků 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 návrhu databáze se používá spousta datových typů. Z nich mají datové typy znaků významnější místo, protože se používají k ukládání mnoha informací ve srovnání s čísly. Znakové datové typy se používají k ukládání znaků nebo alfanumerických dat v řetězcích. Typ databázové znakové sady je definován při vytváření databáze. Z těchto znakových datových typů jsou opět běžně používané Char a Varchar. Tento článek vysvětluje, jaké jsou tyto dva datové typy, char a varchar, a rozdíl mezi nimi.
Co je Char?
Definice char znaku ISO je znak a datový typ char se používá k uložení znaku. Char (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í být hodnota od 1 do 8000. Znak je o padesát procent rychlejší než varchar, a proto můžeme dosáhnout lepšího výkonu při práci s char. Char používá při ukládání dat přidělení statické paměti. Když chceme uložit řetězce se známou pevnou délkou, je lepší použít znak. Jako příklad můžeme při ukládání „Ano“a „Ne“jako „Y“a „N“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ě jsou 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 také neřetězcové typy, jako jsou typy dat, „12. března 2015“, „12. 3. 2015“, lze také ukládat 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 řetězce jiné než Unicode pevné velikosti, ale varchar může ukládat proměnné velikosti řetězců.
• Char je lepší než varchar pro data, která se často mění. Je to proto, že řádek dat s pevnou délkou není náchylný k fragmentaci.
• Char bude zabírat pouze pevný prostor, který je definován při deklaraci proměnné. Ale varchar bude zabírat prostor na základě dat, která jsou vložena, a také bude zabírat 1 nebo 2 bajty jako předponu délky.
• Pokud jsou data menší než 255 znaků, je přidělen 1 bajt a pokud jsou data více než 255 znaků, jsou vyhrazeny 2 bajty. Použijeme-li 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 vyžadovat dva bajty včetně dalšího bajtu jako předpony délky.
Souhrn:
Char vs Varchar
Char a varchar jsou nejpoužívanějším datovým typem znaků 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. Abychom z dat získali lepší výkon, je důležitější zvolit správné datové typy pro pole tabulek ve vaší databázi. Je pohodlnější použít nejmenší datové typy, které mohou správně ukládat data, protože z paměti zabírají méně místa.
Snímky se svolením: Varchar přes Wikicommons (Public Domain)