Atšķirība starp Char un Varchar

Abi ir datu tipi daudzās programmēšanas valodās un datu bāzu sistēmās, kur “char” apzīmē rakstzīmi un “varchar” attiecas uz mainīgu rakstzīmi. C burts C apzīmē rakstzīmju tipu, ko izmanto virkņu vērtību, galvenokārt UTF-8 kodētu rakstzīmju un veselu skaitļu, glabāšanai. No otras puses, Varčars ir datu tips, kurā var būt dati par jebkura veida nenoteiktu garumu. Varčārs attiecas uz lauka datu tipu datu bāzes pārvaldības sistēmā. Lai gan viņi abi var saglabāt virkņu vērtības, nepārsniedzot 8000 rakstzīmes, char prasa vairāk atmiņas nekā varchar. Tehniski tos abus izmanto viena veida datu glabāšanai, taču tie atšķiras pēc to glabāšanas un izguves veida. Sīki apskatīsim viņu atšķirības.

Kas ir Char?

Char ir fiksēta garuma datu tips, ko izmanto, lai saglabātu rakstzīmes, kas nav Unicode, tātad arī nosaukums (īss burts). Katrai rakstzīmei tas aizņem vienu vietas baitu, kas tiek kodēts kā skaitlis - no ASCII kodējuma. Čaulas veidu var izmantot arī mazu skaitļu deklarēšanai. Lai deklarētu rakstzīmju mainīgo, tiek izmantots atslēgvārds “char”, kas nozīmē, ka viena baita tiek saglabāta viena rakstzīme.

Tāpat kā veseli skaitļi, char var būt parakstīts vai neparakstīts. Tajā var būt parakstītas char vērtības diapazonā no -128 līdz 127 un atkarībā no arhitektūras lieluma to var arī neparakstīt, turot vērtības diapazonā no 0 līdz 255. Ja char vērtības tiek glabātas, tās ir pareizi aizpildītas ar atstarpēm līdz noteiktajam garumam. . Atgūstot, atstarpes tiek noņemtas.

Piemēram, ja jūs deklarējat mainīgo char (7) datu tipu, tad vienmēr būs nepieciešami 7 datu baiti neatkarīgi no tā, vai jūs glabājat vienu vai 7 rakstzīmes, kas nozīmē, ka kolonnā var saglabāt ne vairāk kā 7 rakstzīmes.

Kas ir Varčars?

Varčara, kā norāda nosaukums, ir mainīga garuma datu tips, kas var saturēt jebkura veida datus ar garumu no 0 līdz 65 535. Varčara lauks var saglabāt jebkura lieluma vērtības līdz noteiktam ierobežojumam, atkarībā no datu bāzes. To var definēt vai nu programmēšanas valodās, vai datu bāzes līmenī. Varšara lauka lielums var būt no nulles līdz maksimālajam deklarētajam lauka garumam.

Lai deklarētu mainīgo rakstzīmi, tiek izmantots atslēgvārds “varchar”. Varčara aizņem mainīgu atstarpi, kas nozīmē, ka tas izmantos tikai baitu skaitu, kas vienāds ar rakstzīmju skaitu. Tas palīdz izvairīties no vietas izšķērdēšanas, jo tas izmanto tikai vietu, kas nepieciešama virknes lielumam. Dažās programmēšanas valodās un datu bāzu sistēmās jebkura papildu vieta automātiski tiek noņemta no datu bāzes.

Piemēram, ja jūs deklarējat varchar mainīgo (10), tas izmantos baitu skaitu, kas vienāds ar rakstzīmju skaitu. Tātad, ja jūs glabājat tikai vienu rakstzīmi, tad tas aizņems tikai vienu baitu, un, ja jūs glabājat 10 rakstzīmes, tas aizņems 10 baitus, tādējādi izvairoties no datu bāzes vietas izšķērdēšanas.

Atšķirība starp Char un Varchar

  1. Datu tips

“Char” ir noteikta garuma datu tips, ko izmanto, lai saglabātu fiksēta garuma rakstzīmju virknes vērtību, savukārt “Varchar” ir mainīga garuma datu tips, ko izmanto, lai saglabātu mainīga garuma burtciparu datus.

  1. Krātuves lielums

Rakstzīmes vērtības krātuves lielums ir vienāds ar šīs kolonnas maksimālo lielumu, kuru jūs deklarējat, veidojot tabulu. No otras puses, varšara vērtības glabāšanas lielums ir ievadīto datu faktiskais garums, nevis šīs kolonnas maksimālais lielums..

  1. Datu ieraksti

Jūs varat izmantot char, ja paredzams, ka datu ieraksti kolonnā būs vienāda lieluma, savukārt, tieši pretēji, varchar var izmantot, ja kolonnas datu ierakstiem ir paredzēts atšķirīgs lielums.

  1. Atmiņas piešķiršana

Char izmanto statisko atmiņas sadalījumu, bet varchar - dinamisko atmiņas sadalījumu

  1. Garums

Char mainīgā garums var būt no jebkuras vērtības no 0 līdz 255, savukārt varchar mainīgā garums svārstās no 0 līdz 65,535.

  1. Pieteikums

Datu ieraksti ir konsekventi ar burtu, ko izmanto tādu datu kā tālruņu numuru glabāšanai, turpretim varchar tiek izmantots dažādu datu, piemēram, adrešu, glabāšanai..

Char pret Varchar

Char Varčars
Tiek izmantots fiksēta garuma rakstzīmju virknes vērtības saglabāšanai. Izmanto, lai saglabātu mainīga garuma burtciparu datus.
Garums svārstās no 0 līdz 255. Garums svārstās no 0 līdz 65 535.
Uzglabāšanai ir nepieciešams 1 baits par katru rakstzīmi. Paņem 1 baitu uz rakstzīmi un 1 vai 2 papildu baitus garuma informācijas glabāšanai.
Uzglabāšanas lielums ir tāds pats kā deklarētais. Varchar krātuves lielums ir atkarīgs no konkrētās saglabātās virknes.
Izmanto statisko atmiņas sadalījumu. Izmanto dinamisko atmiņas piešķiršanu.
Char jāizmanto, kad mainīgā lielums ir zināms. Varchar jāizmanto tikai tad, ja mainīgā lielums nav zināms.
Tas pieņem tikai rakstzīmes. Tas pieņem gan rakstzīmes, gan ciparus.
Tas ir par 50 procentiem ātrāk nekā Varčars. Tas ir lēnāks par Char.
Char vērtības krātuves lielums ir vienāds ar kolonnas maksimālo lielumu. Varchar vērtības glabāšanas lielums ir vienāds ar ievadīto datu faktisko garumu, nevis ar kolonnas maksimālo lielumu.

Kopsavilkums

  • Gan “Char”, gan “Varchar” ir datu tipi programmēšanas valodās un datu bāzu sistēmās, kurām ir dažas kopīgas iezīmes funkcionalitātes un tehniskuma ziņā. Tomēr tie ievērojami atšķiras pēc to uzglabāšanas un izguves veida.
  • Kamēr char faktiski attiecas uz raksturu, varchar attiecas uz mainīgo rakstzīmi. Kā norāda nosaukums, char ir fiksēta garuma datu tips, savukārt varchar ir mainīga garuma datu tips.
  • Char prasa ne vairāk kā 1 baitu uz rakstzīmi, turpretim varchar arī aizņem ne vairāk kā 1 baitu uz rakstzīmi, kā arī papildu 1 vai 2 baitus, lai saglabātu garuma informāciju. Čarša garums svārstās no 0 līdz 255, un varčaram tas var būt no 0 līdz 65 535.
  • Tā kā ogle ir noteikta garuma, jebkura atlikušā vieta laukā ir aizpildīta ar sagatavēm. No otras puses, Varčara ir mainīga garuma, tāpēc tajā ir tikai tās rakstzīmes, kuras jūs tam piešķirat.
  • Atlikušās rakstzīmes tiek aizpildītas ar baltām atstarpēm, ja vērtības tiek glabātas “char” laukos, turpretī “varchar” nepievieno papildu atstarpes, ja sniedzat mazāk datu nekā noteikts garums.