Site icon Nhạc lý căn bản – nhacly.com

Sự khác biệt giữa Char và Varchar (Internet)

Cả hai đều là kiểu tài liệu trong nhiều ngôn từ lập trình và mạng lưới hệ thống cơ sở tài liệu trong đó ‘ char ‘ dùng để chỉ ký tự và ‘ varchar ‘ dùng để chỉ ký tự biến. Char in C đại diện thay mặt cho loại ký tự được sử dụng để tàng trữ những giá trị chuỗi, hầu hết là những ký tự và số nguyên được mã hóa UTF-8. Varchar, mặt khác, là một loại tài liệu hoàn toàn có thể chứa tài liệu của bất kể loại độ dài không xác lập. Varchar dùng để chỉ một kiểu tài liệu của một trường trong mạng lưới hệ thống quản trị cơ sở tài liệu. Mặc dù cả hai đều hoàn toàn có thể tàng trữ những giá trị chuỗi lên đến độ dài tối đa 8.000 ký tự, char nhu yếu tàng trữ nhiều hơn varchar. Về mặt kỹ thuật, cả hai đều được sử dụng để tàng trữ cùng loại tài liệu nhưng chúng khác nhau về cách chúng được tàng trữ và truy xuất. Hãy xem sự độc lạ của chúng một cách chi tiết cụ thể.

Char là gì?

Char là kiểu dữ liệu có độ dài cố định được sử dụng để lưu trữ các ký tự không phải là Unicode, do đó có tên (viết tắt của ký tự). Nó chiếm một byte không gian cho mỗi ký tự được mã hóa dưới dạng số – những ký tự từ mã hóa ASCII. Loại char cũng có thể được sử dụng để khai báo các số nguyên nhỏ. Để khai báo một biến ký tự, từ khóa ‘char’ được sử dụng, có nghĩa là một ký tự đơn được lưu trữ trong một byte.

Giống như những kiểu số nguyên, char hoàn toàn có thể được ký hoặc không dấu. Nó hoàn toàn có thể giữ những giá trị char đã ký từ – 128 đến 127 và tùy thuộc vào kích cỡ kiến ​ ​ trúc, nó cũng hoàn toàn có thể không dấu, giữ những giá trị nằm trong khoảng chừng từ 0 đến 255. Khi những giá trị char được tàng trữ, chúng được đệm đúng với khoảng chừng trắng theo chiều dài được chỉ định. Các dấu cách được vô hiệu khi chúng được lấy. Ví dụ : nếu bạn khai báo một biến có kiểu tài liệu char ( 7 ), thì nó sẽ luôn lấy 7 byte tài liệu bất kể bạn đang tàng trữ 1 ký tự hay 7 ký tự, có nghĩa là bạn hoàn toàn có thể tàng trữ tối đa 7 ký tự trong cột.

Varar là gì?

Varchar, như tên cho thấy, là một kiểu tài liệu có độ dài đổi khác, hoàn toàn có thể chứa bất kể loại tài liệu nào có độ dài biến hóa từ 0 đến 65,535. Trường Varchar hoàn toàn có thể tàng trữ những giá trị có size bất kể đến một số lượng giới hạn nhất định, tùy thuộc vào cơ sở tài liệu. Nó hoàn toàn có thể được định nghĩa bằng ngôn từ lập trình hoặc ở Lever cơ sở tài liệu. Kích thước của trường varchar hoàn toàn có thể là bất kỳ thứ gì từ 0 đến độ dài trường khai báo tối đa. Để khai báo một ký tự biến, từ khóa ‘ varchar ‘ được sử dụng. Varchar có một khoảng trống biến, có nghĩa là nó sẽ chỉ sử dụng số byte bằng với số lượng ký tự. Nó giúp tránh tiêu tốn lãng phí khoảng trống vì nó chỉ sử dụng khoảng trống thiết yếu cho kích cỡ của chuỗi. Trong một số ít ngôn từ lập trình và mạng lưới hệ thống cơ sở tài liệu, mọi khoảng trống thừa sẽ tự động hóa bị xóa khỏi cơ sở tài liệu.

Ví dụ: nếu bạn khai báo một biến varchar (10), nó sẽ sử dụng số byte bằng số lượng ký tự. Vì vậy, nếu bạn chỉ lưu trữ một ký tự, thì nó sẽ chỉ mất một byte và nếu bạn lưu trữ 10 ký tự, nó sẽ mất 10 byte, do đó tránh lãng phí không gian cơ sở dữ liệu.

Sự khác biệt giữa Char và Varchar

  1. Loại dữ liệu

‘ Char ‘ là loại tài liệu có độ dài cố định và thắt chặt, được sử dụng để tàng trữ giá trị chuỗi ký tự có độ dài cố định và thắt chặt, trong khi ‘ Varchar ‘ là loại tài liệu có độ dài biến hóa được sử dụng để tàng trữ tài liệu chữ và số có độ dài đổi khác.

  1. Kích thước lưu trữ

Kích thước tàng trữ của giá trị ký tự bằng với kích cỡ tối đa của cột này mà bạn khai báo trong khi tạo bảng. Mặt khác, size tàng trữ của giá trị varchar là chiều dài thực tiễn của tài liệu được nhập, không phải size tối đa cho cột này.

  1. Mục nhập dữ liệu

Bạn hoàn toàn có thể sử dụng char khi những mục nhập tài liệu trong một cột được dự kiến ​ ​ có cùng kích cỡ, trong khi ngược lại, varchar hoàn toàn có thể được sử dụng khi những mục nhập tài liệu trong một cột được dự kiến ​ ​ sẽ biến hóa size.

  1. Cấp phát bộ nhớ

Char sử dụng cấp phát bộ nhớ tĩnh trong khi varchar sử dụng cấp phát bộ nhớ động

  1. Chiều dài

Độ dài của biến char hoàn toàn có thể có giá trị bất kể từ 0 đến 255, trong khi độ dài của biến varchar nằm trong khoảng chừng từ 0 đến 65,535.

  1. Ứng dụng

Các mục nhập tài liệu tương thích trong char được sử dụng để tàng trữ tài liệu như số điện thoại thông minh, trong khi varchar được sử dụng để tàng trữ tài liệu khác nhau như địa chỉ.

Char so với Varar

Char Varar
Được sử dụng để lưu trữ giá trị chuỗi ký tự có độ dài cố định. Được sử dụng để lưu trữ dữ liệu chữ và số có độ dài thay đổi.
Độ dài thay đổi từ 0 đến 255. Độ dài thay đổi từ 0 đến 65,535.
Mất 1 byte cho mỗi ký tự để lưu trữ. Mất 1 byte cho mỗi ký tự cộng thêm 1 hoặc 2 byte để lưu trữ thông tin độ dài.
Kích thước lưu trữ của char giống như khai báo. Kích thước lưu trữ của varchar phụ thuộc vào chuỗi cụ thể được lưu trữ.
Sử dụng cấp phát bộ nhớ tĩnh. Sử dụng cấp phát bộ nhớ động.
Char nên được sử dụng khi biết chiều dài của biến. Varar chỉ nên được sử dụng khi không biết chiều dài của biến.
Nó chỉ chấp nhận nhân vật. Nó chấp nhận cả ký tự và số.
Nó nhanh hơn 50% so với Varchar. Nó chậm hơn Char.
Kích thước lưu trữ của giá trị char bằng với kích thước tối đa cho cột. Kích thước lưu trữ của giá trị varchar bằng với chiều dài thực tế của dữ liệu được nhập, không phải kích thước tối đa cho cột.

Tóm lược

  • Cả ‘Char’ và ‘Varchar’ là các loại dữ liệu trong ngôn ngữ lập trình và hệ thống cơ sở dữ liệu có chung một số đặc điểm chung về chức năng và kỹ thuật. Tuy nhiên, chúng khác nhau đáng kể như cách chúng được lưu trữ và truy xuất.
  • Trong khi char thực sự đề cập đến ký tự, varchar đề cập đến ký tự biến. Như tên cho thấy, char là kiểu dữ liệu có độ dài cố định trong khi varchar là kiểu dữ liệu có độ dài thay đổi.
  • Char mất tối đa 1 byte cho mỗi ký tự, trong khi varchar cũng mất tới 1 byte cho mỗi ký tự cộng thêm 1 hoặc 2 byte để lưu trữ thông tin độ dài. Đối với char, độ dài thay đổi từ 0 đến 255 và đối với varchar, nó có thể là bất cứ thứ gì trong khoảng từ 0 đến 65,535.
  • Vì char có chiều dài cố định, bất kỳ không gian còn lại nào trong trường được đệm bằng khoảng trống. Mặt khác, Varchar có độ dài thay đổi nên nó chỉ giữ các ký tự bạn gán cho nó.
  • Các ký tự còn lại được đệm bằng khoảng trắng khi các giá trị được lưu trữ trong các trường ‘char’, trong khi ‘varchar’ không thêm khoảng trắng khi bạn cung cấp ít dữ liệu hơn độ dài đã chỉ định.
Exit mobile version