Разлика между Чар и Варчар

И двете са типове данни в много езици за програмиране и системи от бази данни, където „char“ се отнася до символи, а „varchar“ се отнася до променлив символ. Char in C представлява символния тип, който се използва за съхраняване на низови стойности, предимно UTF-8 кодирани символи и цели числа. Varchar, от друга страна, е тип данни, който може да съдържа данни от всякакъв вид неопределена дължина. Варчар се отнася до тип данни от поле в система за управление на база данни. Въпреки че и двамата могат да съхраняват низови стойности до максимална дължина от 8000 знака, char изисква повече съхранение от varchar. Технически и двете се използват за съхранение на едни и същи видове данни, но се различават по начина, по който се съхраняват и извличат. Нека разгледаме подробно техните разлики.

Какво е Чар?

Char е тип данни с фиксирана дължина, който се използва за съхранение на символи, които не са Unicode, оттук и името (кратко за символ). Той заема по един байт пространство за всеки символ, които са кодирани като числа - тези от ASCII кодирането. Типът char може да се използва и за деклариране на малки цели числа. За деклариране на знакова променлива се използва ключовата дума 'char', което означава, че един знак се съхранява в един байт.

Подобно на целочислените типове, char може да бъде подписан или неподписан. Той може да съдържа подписани знаци за диапазон от -128 до 127 и в зависимост от архитектурния размер, той също може да бъде неподписан, като държи стойности, вариращи от 0 до 255. Когато стойностите на char се съхраняват, те са подплатени вдясно с интервали до определената дължина , Проследяващите пространства се премахват при извличането им.

Например - ако декларирате променлива от тип данни на char (7), то винаги ще отнеме 7 байта данни, независимо дали съхранявате 1 знак или 7 знака, което означава, че можете да съхранявате максимум 7 знака в колоната.

Какво е Варчар?

Varchar, както подсказва името, е тип данни с променлива дължина, който може да съдържа всякакъв тип данни с дължина, варираща от 0 до 65,535. Varchar поле може да съхранява стойности от всякакъв размер до определена граница, в зависимост от базата данни. Може да се дефинира или на езици за програмиране, или на ниво база данни. Размерът на varchar полето може да бъде от нула до максималната декларирана дължина на полето.

За деклариране на променлив символ се използва ключовата дума 'varchar'. Варчар заема променливо пространство, което означава, че ще използва само броя на байтовете, равен на броя на знаците. Той помага за избягване на разхищаването на пространството, тъй като само използва пространството, необходимо за размера на струната. В някои езици за програмиране и системи от бази данни всяко допълнително пространство се премахва автоматично от базата данни.

Например - ако декларирате променлива на varchar (10), тя ще използва броя на байтовете, равен на броя на знаците. Така че, ако съхранявате само един символ, то ще отнеме само един байт, а ако съхранявате 10 знака, ще отнеме 10 байта, като по този начин ще избегнете разхищаването на пространството в базата данни.

Разлика между Чар и Варчар

  1. Тип данни

'Char' е тип данни с фиксирана дължина, който се използва за съхранение на символен низ от фиксирана дължина, докато 'Varchar' е тип данни с променлива дължина, който се използва за съхраняване на буквено-цифрови данни с променлива дължина.

  1. Размер на съхранение

Размерът на съхранението на символната стойност е равен на максималния размер на тази колона, която декларирате, докато създавате таблицата. От друга страна, размерът на паметта на стойността на varchar е действителната дължина на въведените данни, а не максималният размер за тази колона.

  1. Записи на данни

Можете да използвате char, когато записите на данни в колона се очаква да бъдат с еднакъв размер, докато напротив, varchar може да се използва, когато се очаква вписванията на данни в колона да варират по размер.

  1. Разпределение на паметта

Чар използва статично разпределение на паметта, докато varchar използва динамично разпределение на паметта

  1. дължина

Дължината на променливата char може да бъде от всяка стойност от 0 до 255, докато дължината на променливата varchar варира от 0 до 65,535.

  1. Приложение

Вписванията за данни са последователни в класация, която се използва за съхранение на данни като телефонни номера, докато varchar се използва за съхранение на различни данни като адреси.

Чар срещу Варчар

овъглявам VARCHAR
Използва се за съхраняване на стойност на символния низ с фиксирана дължина. Използва се за съхранение на буквено-цифрови данни с променлива дължина.
Дължината варира от 0 до 255. Дължината варира от 0 до 65 555.
Заема 1 байт на символ за съхранение. Заема 1 байт на символ плюс 1 или 2 допълнителни байта за съхранение на информация за дължината.
Размерът на съхранението на char е същият като декларирания. Размерът на съхранението на varchar зависи от съхранения специфичен низ.
Използва статично разпределение на паметта. Използва динамично разпределение на паметта.
Char трябва да се използва, когато е известна дължината на променливата. Varchar трябва да се използва само когато дължината на променливата не е известна.
Той приема само знаци. Той приема както знаци, така и цифри.
Той е с 50 процента по-бърз от Варчар. По-бавно е от Чар.
Размерът на съхранението на стойността char е равен на максималния размер за колоната. Размерът на съхранението на стойността на varchar е равен на действителната дължина на въведените данни, а не на максималния размер за колоната.

резюме

  • И „Char“ и „Varchar“ са типове данни в програмните езици и системите от бази данни, които споделят някои общи черти по отношение на функционалност и техничност. Те обаче се различават значително като начина на съхранение и извличане.
  • Докато char всъщност се отнася до символа, varchar се отнася до променлив символ. Както подсказва името, char е тип данни с фиксирана дължина, докато varchar е тип данни с променлива дължина.
  • Char отнема до 1 байт на символ, докато varchar също заема до 1 байт на символ плюс допълнителни 1 или 2 байта, за да съхранява информация за дължината. За char, дължината варира от 0 до 255, а за varchar може да бъде всичко между 0 и 65,535.
  • Тъй като char е с фиксирана дължина, всяко останало място в полето е подплатено с празни заготовки. Варчар, от друга страна, е с променлива дължина, така че съдържа само символите, които му присвоявате.
  • Останалите знаци са подплатени с бели интервали, когато стойностите се съхраняват в полето „char“, докато „varchar“ не добавя допълнителни интервали, когато предоставяте по-малко данни от определената дължина.