Char kontra Varchar
Char i Varchar są powszechnie używanymi typami 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 przechowywania. W projektowaniu baz danych używa się wielu typów danych. Spośród nich typy danych znakowych zajmują bardziej widoczne miejsce, ponieważ są używane do przechowywania wielu informacji w porównaniu z liczbami. Typy danych znakowych są używane do przechowywania znaków lub danych alfanumerycznych w ciągach. Typ zestawu znaków bazy danych jest definiowany podczas tworzenia bazy danych. Ponownie, spośród tych typów danych znakowych, Char i Varchar są najczęściej używanymi. W tym artykule wyjaśniono, czym są te dwa typy danych, char i varchar, oraz różnice między nimi.
Co to jest Char?
Definicja ISO znaku to znak, a typ danych char służy do przechowywania znaku. Char (n) może przechowywać n ustalonych rozmiarów znaków. Maksymalna liczba znaków, jaką może przechowywać znak (n) to 255 znaków, a długość ciągu musi być wartością od 1 do 8000. Char 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. Gdy chcemy przechowywać łańcuchy o znanej stałej długości, lepiej użyć znaku. Jako przykład, przechowując „Tak” i „Nie” jako „Y” i „N”, możemy użyć typu danych char. A także podczas przechowywania numeru dowodu osobistego osoby składającego się z dziesięciu znaków, możemy użyć typu danych jako char (10).
Co to jest Varchar?
Jak sama nazwa wskazuje, varchar jest nazywany znakiem zmiennym. 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 magazynu to 2 GB. Rozmiar magazynu 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. 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 o stałym rozmiarze inne niż Unicode, ale varchar może przechowywać ciągi o zmiennych rozmiarach.
• Char 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ę.
• Char zajmie tylko ustaloną 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, rezerwowane są 2 bajty. Jeśli użyjemy znaku do przechowywania flagi 'Y' i 'N', użyje jednego bajtu do przechowywania, ale gdy użyjemy varchar, zabierze dwa bajty do przechowywania flagi, w tym dodatkowy bajt jako prefiks długości.
Podsumowanie:
Char kontra Varchar
Char i varchar to najczęściej używane typy danych znakowych dostępne w bazach danych. Char 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 wybranie właściwych typów 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.