Sự khác biệt giữa Char và Varchar | Char vs Varchar
Char vs Varchar
Char và Varchar thường được sử dụng các kiểu dữ liệu nhân vật trong hệ thống cơ sở dữ liệu trông giống nhau mặc dù có sự khác biệt giữa chúng khi yêu cầu lưu trữ. Trong thiết kế cơ sở dữ liệu, có rất nhiều loại dữ liệu được sử dụng. Trong số đó, các kiểu dữ liệu nhân vật có được một vị trí nổi bật hơn vì chúng được sử dụng để lưu trữ rất nhiều thông tin so với số. Kiểu dữ liệu ký tự được sử dụng để lưu trữ các ký tự hoặc dữ liệu chữ số trong chuỗi. Kiểu bộ ký tự cơ sở dữ liệu được định nghĩa khi tạo cơ sở dữ liệu. Một lần nữa, trong số các kiểu dữ liệu nhân vật này, Char và Varchar là những kiểu dữ liệu được sử dụng phổ biến. Bài báo này giải thích hai loại dữ liệu này, char và varchar là gì và sự khác biệt giữa chúng.
Char là gì?
Định nghĩa ISO của char là ký tự và kiểu dữ liệu char được sử dụng để lưu ký tự. Char (n) có thể lưu trữ n kích thước cố định của ký tự. Số ký tự tối đa mà char (n) có thể giữ được là 255 ký tự và độ dài chuỗi phải là một giá trị từ 1 đến 8000. Char nhanh hơn năm mươi phần trăm so với varchar, do đó, chúng ta có thể đạt được hiệu suất tốt hơn khi chúng tôi làm việc với char. Char sử dụng phân bổ bộ nhớ tĩnh khi lưu trữ dữ liệu. Khi chúng ta muốn lưu trữ chuỗi có độ dài cố định cố định, tốt hơn là sử dụng char. Ví dụ, khi lưu trữ 'Có' và 'Không' là 'Y' và 'N', chúng ta có thể sử dụng kiểu dữ liệu char. Và khi lưu số chứng minh thư quốc gia của một người với mười ký tự, chúng ta có thể sử dụng kiểu dữ liệu như char (10).
Varchar là gì?
Như tên cho thấy, varchar được gọi là ký tự biến đổi. Varchar được sử dụng để lưu dữ liệu dạng chữ và số có độ dài thay đổi. Số ký tự tối đa mà loại dữ liệu này có thể chứa là 4000 ký tự và kích thước lưu trữ tối đa là 2 GB. Kích thước lưu trữ của varchar là chiều dài thực tế của dữ liệu cộng với hai byte. Varchar chậm hơn char và nó sử dụng phân bổ bộ nhớ động khi lưu trữ dữ liệu. Chúng tôi có thể sử dụng varchar khi lưu trữ dữ liệu như tên, địa chỉ, mô tả, v.v … Không chỉ chuỗi, mà cả các loại không phải chuỗi như kiểu ngày, "12 tháng 3 năm 2015", "12/03/2015" cũng có thể được lưu trữ kiểu dữ liệu varchar.
Sự khác biệt giữa Char và Varchar là gì?
Mặc dù char và varchar là các trường dữ liệu ký tự, char là một trường dữ liệu độ dài cố định và varchar là một trường dữ liệu có kích thước thay đổi.
• Char có thể lưu trữ các ký tự chuỗi có kích thước cố định không phải là ký tự Unicode nhưng varchar có thể lưu trữ các kích thước khác nhau của chuỗi.
• Char tốt hơn so với varchar cho dữ liệu thường xuyên thay đổi. Điều này là do hàng dài cố định của dữ liệu không dễ bị phân mảnh.
• Char sẽ chỉ chiếm không gian cố định được xác định khi khai báo biến. Nhưng varchar sẽ chiếm không gian dựa trên dữ liệu được chèn vào và cũng sẽ chiếm 1 hoặc 2 byte như tiền tố chiều dài.
• Nếu dữ liệu dưới 255 ký tự, 1 byte được phân bổ và nếu dữ liệu có nhiều hơn 255 ký tự 2 byte được dành riêng. Nếu chúng ta sử dụng char để lưu trữ một lá cờ 'Y' và 'N' nó sẽ sử dụng một byte để lưu trữ, nhưng khi chúng ta sử dụng varchar nó sẽ mất hai byte để lưu cờ bao gồm một byte thêm như là tiền tố chiều dài.
Tóm lược:
Char vs Varchar
Char và varchar là kiểu dữ liệu nhân vật được sử dụng nhiều nhất có trong cơ sở dữ liệu. Char được sử dụng để lưu trữ một chuỗi có độ dài cố định trong khi varchar được sử dụng để lưu trữ các chuỗi có chiều dài khác nhau. Để có được hiệu suất tốt hơn từ dữ liệu, điều quan trọng hơn là chọn đúng kiểu dữ liệu cho các trường của bảng trong cơ sở dữ liệu của bạn. Việc sử dụng các loại dữ liệu nhỏ nhất có thể lưu trữ dữ liệu một cách chính xác hơn vì chúng chiếm ít không gian hơn từ bộ nhớ.
Hình ảnh Được phép của: Varchar qua Wikicommons (Public Domain)