„Char“ ir „Varchar“ yra duomenų bazės sistemoje dažniausiai naudojami simbolių duomenų tipai, kurie atrodo panašūs, nors laikymo reikalavimai yra skirtingi. Kuriant duomenų bazę, naudojama daugybė duomenų tipų. Iš jų ženklų duomenų tipai užima ryškesnę vietą, nes jie naudojami kaupti daug informacijos, palyginti su skaičiais. Simbolių duomenų tipai naudojami simboliams ar raidiniams skaitmeniniams duomenims saugoti eilutėse. Kuriant duomenų bazę yra apibrėžtas duomenų bazės simbolių rinkinio tipas. Vėlgi, iš šių simbolių duomenų tipų dažniausiai naudojami Char ir Varchar. Šiame straipsnyje paaiškinta, kas yra šie du duomenų tipai, char ir varchar, ir koks skirtumas tarp jų.
ISO char apibrėžimas yra a charakteris ir char duomenų tipas yra įpratęs laikyti veikėją. Char (n) gali laikyti n fiksuoto dydžio simbolius. Didžiausias simbolių, kuriuos gali laikyti simbolis (n), skaičius yra 255 simboliai, o eilutės ilgis turi būti reikšmė nuo 1 iki 8000. Char yra penkiasdešimt procentų greitesnis nei varchar, todėl dirbdami su char. „Char“ naudoja statinę atminties saugyklą, kai saugo duomenis. Kai norime laikyti stygas, kurių ilgis žinomas, geriau naudoti char. Kaip pavyzdį, kai saugome „Taip“ ir „Ne“ kaip „Y“ ir „N“, galime naudoti duomenų tipą char. Taip pat, kai saugome asmens tapatybės kortelės numerį, sudarytą iš dešimties ženklų, duomenų tipą galime naudoti kaip char (10)..
Kaip rodo pavadinimas, varchar vadinamas a kintamasis pobūdis. „Varchar“ naudojamas raidžių ir skaičių duomenims, kurių ilgis yra įvairus, laikyti. Maksimalus simbolių skaičius, kurį gali laikyti šis duomenų tipas, yra 4000 ženklų, o maksimalus atminties dydis - 2 GB. „Varchar“ saugyklos dydis yra faktinis duomenų ilgis plius du baitai. „Varchar“ yra lėtesnis nei „char“ ir saugodamas duomenis naudoja dinaminę atminties paskirstymą. Mes galime naudoti „varchar“, kai saugome tokius duomenis kaip vardai, adresai, aprašymai ir pan. Ne tik stygas, bet ir ne eilutes, pvz., Datos tipus, „2015 m. Kovo 12 d.“, „2015 03 12“, taip pat galima laikyti varchar duomenų tipas.
• Nors char ir varchar yra simbolių duomenų laukai, char yra fiksuoto ilgio duomenų laukas, o varchar yra kintamo dydžio duomenų laukas.
• „Char“ gali saugoti tik fiksuoto dydžio ne „Unicode“ stygų ženklus, tačiau „varchar“ gali saugoti įvairaus dydžio stygas.
• „Char“ yra geresnis už „varchar“ duomenis, kurie dažnai keičiasi. Taip yra todėl, kad fiksuoto ilgio duomenų eilutė nėra linkusi suskaidyti.
• Char užims tik fiksuotą vietą, kuri yra apibrėžta deklaruojant kintamąjį. Bet varchar užims vietą pagal įdėtus duomenis, o taip pat užims 1 arba 2 baitus kaip ilgio priešdėlis.
• Jei duomenys yra mažesni nei 255 simboliai, skiriamas 1 baitas, o jei duomenų yra daugiau nei 255 simboliai, rezervuojami 2 baitai. Jei „Y“ ir „N“ vėliavoms saugoti naudosime char, tai sunaudos vieną baitą, bet kai naudosime varchar, vėliavėlę reikės laikyti dviem baitais, įskaitant papildomą baitą kaip ilgio priešdėlį..
Santrauka:
„Char“ ir „varchar“ yra duomenų bazėse dažniausiai naudojami simbolių duomenų tipai. Char naudojamas fiksuoto ilgio eilutėms laikyti, o varchar - skirtingo ilgio eilutėms laikyti. Norint gauti geresnį duomenų našumą, svarbiau pasirinkti teisingus duomenų tipus duomenų bazės lentelių laukams. Patogiau naudoti mažiausius duomenų tipus, kurie gali teisingai saugoti duomenis, nes jie užima mažiau vietos iš atminties.
Vaizdai: „Varchar“ per „Wikicommons“ („Public Domain“)