CHAR được lưu trữ dưới dạng chuỗi có độ dài cố định, VARCHAR được lưu trữ dưới dạng chuỗi có độ dài thay đổi. Tôi có thể sử dụng VARCHAR để lưu trữ một chuỗi dài cố định, nhưng tại sao mọi người vẫn muốn sử dụng CHAR để lưu trữ một chuỗi dài cố định? Có lợi ích gì khi sử dụng CHAR trên VARCHAR? Nếu không có lợi ích nào, tại sao cơ sở dữ liệu mySQL không loại bỏ tùy chọn CHAR?Bất kỳ lợi ích nào của việc sử dụng CHAR trên VARCHAR?
Trả lời
- VARCHAR
cửa hàng varchar chiều dài thay đổi chuỗi ký tự. nó có thể yêu cầu ít dung lượng hơn các loại có độ dài cố định vì nó chỉ sử dụng nhiều không gian khi cần.
varchar cũng sử dụng 1 hoặc 2 byte phụ để ghi lại độ dài của giá trị. ví dụ varchar (10) sẽ sử dụng tới 11 byte dung lượng lưu trữ. varchar giúp hiệu suất vì nó tiết kiệm không gian. tuy nhiên vì các hàng có độ dài thay đổi, chúng có thể phát triển khi bạn cập nhật chúng, điều này có thể gây ra thêm công việc. nếu liên tiếp phát triển và không còn phù hợp ở vị trí ban đầu của nó, hành vi này là động cơ phụ thuộc vào lưu trữ ...
- CHAR
char được cố định chiều dài, mysql luôn phân bổ đủ không gian cho các quy định số ký tự. Khi lưu trữ một giá trị CHAR, MySQL sẽ loại bỏ bất kỳ khoảng trắng cuối nào. Giá trị được đệm với không gian cần thiết để so sánh.
char rất hữu ích nếu bạn muốn lưu trữ các chuỗi rất ngắn hoặc nếu tất cả các giá trị gần như là cùng độ dài. Ví dụ: CHAR là một lựa chọn tốt cho các giá trị MD5 cho mật khẩu người dùng, luôn có cùng độ dài.
char cũng tốt hơn VARCHAR cho dữ liệu được thay đổi thường xuyên, bởi vì hàng có độ dài cố định không dễ bị phân mảnh.
Bây giờ tôi thấy lợi ích của CHAR về giá trị cập nhật thường xuyên. Cảm ơn nhiều. – zac1987
Sidenote: Tôi sẽ không nói rằng char là một lựa chọn tốt cho băm MD5, hoặc băm thực sự. Chúng phải được lưu trữ ở định dạng nhị phân thay vì mã hóa khác như hệ thập lục phân. – Luc
tôi tin rằng nó nhanh hơn để tra cứu, vì cơ sở dữ liệu biết chính xác nơi cần đi ngay lập tức thay vì phải thực hiện các phép tính chiều dài, điều này có thể không quá đáng chú ý trong những ngày này –
- 1. Lợi ích và bất lợi của việc sử dụng java rmi
- 2. Tại sao sử dụng NuSOAP thay vì SOAP PHP? Bất kỳ lợi ích nào?
- 3. Chính xác là lợi ích của việc sử dụng Punjab
- 4. Bất kỳ lợi ích nào khi sử dụng macro WEXITSTATUS trong C trên phân chia 256 trên trạng thái exit()?
- 5. Lợi ích của việc sử dụng một hàm tạo?
- 6. Lợi ích của việc sử dụng epoll_create1() thay vì epoll_create()
- 7. lợi ích của việc sử dụng directoryperdb trong MongoDB
- 8. Lợi ích/lợi thế của việc sử dụng Python 3 là gì?
- 9. Lợi ích của việc sử dụng WPF trên Windows Forms là gì?
- 10. Lợi ích của việc sử dụng Quản lý giao dịch Springs và sử dụng hibernate
- 11. Có bất kỳ lợi ích hiệu suất nào khi sử dụng SQL Server 2008 trên SQL Server 2005 không?
- 12. Lợi ích của Struts
- 13. Lợi ích của việc sử dụng enums qua trực tiếp sử dụng các loại tích phân?
- 14. Lợi ích của việc sử dụng RichTextBox trên TextBox là gì?
- 15. Lợi ích của việc sử dụng attr() trên addClass trong jquery
- 16. Lợi ích của x87 trên SSE
- 17. Có bất kỳ lợi ích nào để giữ MaxPermSize nhỏ không?
- 18. Có bất kỳ bất lợi nào đối với SEAM không?
- 19. Hiểu lợi ích của Modernizr trên html5shiv
- 20. Bất kỳ sự bất lợi về hiệu suất của GC.disable?
- 21. Bất kỳ bất lợi nào khi sử dụng ExecuteReaderAsync từ C# AsyncCTP
- 22. Có bất kỳ bất lợi nào khi sử dụng: văn bản/đồng bằng; charset = "UTF-8"
- 23. Một số lợi thế/bất lợi của việc sử dụng SQLDataReader là gì?
- 24. Django: bất kỳ việc sử dụng blocktrans nào khiến TemplateSyntaxError
- 25. Nhiều bộ chọn hoặc nhiều chức năng - bất kỳ lợi ích hiệu quả nào?
- 26. Lợi ích chính của việc sử dụng eval() trong JavaScript là gì?
- 27. C#: Bất kỳ lợi ích nào của Danh sách <T> .ForEach (...) trên vòng lặp foreach đơn giản?
- 28. Oracle PL/SQL: Bất kỳ lợi ích nào trong việc thay đổi PLSQL_CODE_TYPE từ diễn giải sang gốc?
- 29. Lợi ích của việc sử dụng reference_wrapper thay vì con trỏ thô trong các vùng chứa?
- 30. Razor/CSHTML - Bất kỳ lợi ích nào so với những gì chúng tôi có?
http://stackoverflow.com/questions/59667/why-would-i-ever-pick-char-over-varchar-in-sql –
http://stackoverflow.com/questions/350195/char-vs cơ sở dữ liệu varchar-for-performance-in-stock- –
, xin lỗi cho câu hỏi trùng lặp. Có câu trả lời. Cảm ơn các liên kết. – zac1987