Char vs Varchar
Char i Varchar to powszechnie używane typy danych znakowych w systemie baz danych, które wyglądają podobnie, chociaż istnieją między nimi różnice, jeśli chodzi o wymagania dotyczące pamięci. Przy projektowaniu baz danych wykorzystuje się wiele typów danych. Spośród nich typy danych znakowych zajmują bardziej widoczne miejsce, ponieważ są używane do przechowywania dużej ilości informacji w porównaniu do liczb. Typy danych znakowych służą do przechowywania znaków lub danych alfanumerycznych w łańcuchach. Typ zestawu znaków bazy danych jest definiowany podczas tworzenia bazy danych. Ponownie, spośród tych typów danych znakowych, powszechnie używane są Char i Varchar. W tym artykule wyjaśniono, czym są te dwa typy danych, char i varchar, oraz jaka jest między nimi różnica.
Co to jest Char?
Definicja ISO znaku char to znak, a typ danych char jest używany do przechowywania znaku. Char (n) może przechowywać n stałych rozmiarów znaków. Maksymalna liczba znaków, które może pomieścić char (n) to 255 znaków, a długość łańcucha musi wynosić od 1 do 8000. Znak jest o pięćdziesiąt procent szybszy niż varchar i dlatego możemy uzyskać lepszą wydajność, gdy pracujemy z zwęglać. Char używa statycznej alokacji pamięci podczas przechowywania danych. Kiedy chcemy przechowywać łańcuchy o znanej stałej długości, lepiej jest użyć znaku char. Na przykład, przechowując „Tak” i „Nie” jako „Y” i „N”, możemy użyć typu danych char. A także zapisując numer dowodu osobistego osoby składający się z dziesięciu znaków, możemy użyć typu danych jako char (10).
Co to jest Varchar?
Jak sama nazwa wskazuje, varchar nazywany jest znakiem zmiennej. Varchar służy do przechowywania danych alfanumerycznych o zmiennej długości. Maksymalna liczba znaków, które może przechowywać ten typ danych, to 4000 znaków, a maksymalny rozmiar pamięci to 2 GB. Rozmiar pamięci varchar to rzeczywista długość danych plus dwa bajty. Varchar jest wolniejszy niż char i używa dynamicznej alokacji pamięci podczas przechowywania danych. Możemy używać varchar do przechowywania danych, takich jak nazwy, adresy, opisy itp. Nie tylko ciągi, ale także typy niebędące ciągami, takie jak typy dat, „12 marca 2015”, „2015-03-12” mogą być również przechowywane w typ danych varchar.
Jaka jest różnica między Char i Varchar?
• Chociaż char i varchar to pola danych znakowych, char to pole danych o stałej długości, a varchar to pole danych o zmiennej wielkości.
• Char może przechowywać tylko znaki ciągów znaków innych niż Unicode o stałym rozmiarze, ale varchar może przechowywać łańcuchy o różnych rozmiarach.
• Znak jest lepszy niż varchar w przypadku danych, które często się zmieniają. Dzieje się tak, ponieważ wiersz danych o stałej długości nie jest podatny na fragmentację.
• Znak Char zajmie tylko stałą przestrzeń zdefiniowaną 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, rezerwowane są 2 bajty. Jeśli użyjemy znaku char do przechowywania flagi „Y” i „N”, będzie on używał jednego bajtu do przechowywania, ale kiedy użyjemy varchar, zajmie to dwa bajty, aby zapisać flagę, w tym dodatkowy bajt jako prefiks długości.
Streszczenie:
Char vs Varchar
Char i varchar to najczęściej używane typy danych znakowych dostępne w bazach danych. Znak służy do przechowywania ciągu o stałej długości, podczas gdy varchar służy do przechowywania ciągów o różnej długości. Aby uzyskać lepszą wydajność danych, ważniejsze jest, aby wybrać prawidłowe typy danych dla pól tabel w bazie danych. Wygodniej jest używać najmniejszych typów danych, które mogą poprawnie przechowywać dane, ponieważ zajmują mniej miejsca w pamięci.
Zdjęcia dzięki uprzejmości: Varchar via Wikicommons (domena publiczna)