Różnica między Char i Varchar

Char vs Varchar
 

Char i Varchar są powszechnie używanymi typami danych znakowych w systemie bazy danych, które wyglądają podobnie, chociaż istnieją różnice między nimi, jeśli chodzi o wymagania dotyczące pamięci. Podczas projektowania baz danych używanych jest wiele typów danych. Spośród nich typy danych znaków zajmują bardziej znaczące miejsce, ponieważ są używane do przechowywania wielu informacji w porównaniu do liczb. Typy danych znaków służą do przechowywania znaków lub danych alfanumerycznych w ciągach znaków. Typ zestawu znaków bazy danych jest definiowany podczas tworzenia bazy danych. Ponownie, spośród tych typów danych znaków, Char i Varchar są powszechnie używane. W tym artykule wyjaśniono, jakie są te dwa typy danych, char i varchar, oraz różnicę między nimi.

Co to jest Char?

Definicja ISO char to: postać a typem danych char jest przyzwyczajony przechowywać postać. Char (n) może przechowywać n ustalonego rozmiaru znaków. Maksymalna liczba znaków, które może przechowywać znak (n), wynosi 255 znaków, a długość łańcucha musi wynosić od 1 do 8000. Char jest o pięćdziesiąt procent szybszy niż varchar, a zatem możemy uzyskać lepszą wydajność, gdy pracujemy z zwęglać. Char używa statycznej alokacji pamięci podczas przechowywania danych. Kiedy chcemy przechowywać ciągi o znanej stałej długości, lepiej jest użyć znaku. Na przykład, gdy przechowujemy „Tak” i „Nie” jako „Y” i „N”, możemy użyć typu danych char. A także przy przechowywaniu krajowego numeru dowodu osobistego z dziesięcioma znakami, możemy użyć typu danych jako char (10).

Co to jest Varchar?

Jak sama nazwa wskazuje, varchar nazywa się zmienny znak. Varchar służy do przechowywania danych alfanumerycznych o zmiennej długości. Maksymalna liczba znaków, jaką może przechowywać ten typ danych, wynosi 4000 znaków, a maksymalny rozmiar pamięci to 2 GB. Rozmiar pamięci varchar to rzeczywista długość danych plus dwa bajty. Varchar działa wolniej niż char i korzysta z dynamicznej alokacji pamięci podczas przechowywania danych. Możemy używać varchar do przechowywania danych, takich jak nazwiska, adresy, opisy itp. Nie tylko łańcuchy, ale także typy nie łańcuchowe, takie jak typy dat, „12 marca 2015 r.”, „12.03.2015” mogą być również przechowywane w typ danych varchar.

Jaka jest różnica między Char i Varchar?

• Chociaż char i varchar są polami danych znakowych, char jest polem danych o stałej długości, a varchar jest polem danych o zmiennej wielkości.

• Char może przechowywać tylko znaki ciągów o innym rozmiarze niż Unicode, ale varchar może przechowywać zmienne rozmiary ciągów.

• Char jest lepszy niż varchar dla danych, które często się zmieniają. Jest tak, ponieważ wiersz danych o stałej długości nie jest podatny na fragmentację.

• Char zajmie tylko stałą przestrzeń, która jest zdefiniowana podczas deklarowania zmiennej. Ale varchar zajmie miejsce na podstawie wstawionych danych, a także zajmie 1 lub 2 bajty jako prefiks długości.

• Jeśli dane mają mniej niż 255 znaków, przydzielany jest 1 bajt, a jeśli dane mają więcej niż 255 znaków, zarezerwowane są 2 bajty. Jeśli użyjemy znaku do przechowywania flagi „Y” i „N”, użyje jednego bajtu do zapisania, ale kiedy użyjemy varchar, zajmie dwa bajty do zapisania flagi, w tym dodatkowy bajt jako prefiks długości.

Streszczenie:

Char vs Varchar

Char i varchar to najczęściej używane typy danych znaków dostępne w bazach danych. Char służy do przechowywania łańcucha o stałej długości, podczas gdy varchar służy do przechowywania łańcuchów o różnej długości. Aby uzyskać lepszą wydajność danych, ważniejsze jest wybranie odpowiednich typów danych dla pól tabel w bazie danych. Bardziej wygodne jest użycie najmniejszych typów danych, które mogą poprawnie przechowywać dane, ponieważ zajmują mniej miejsca w pamięci.

Obrazy dzięki uprzejmości: Varchar przez Wikicommons (domena publiczna)