2010-03-22 37 views

Trả lời

5

Có lẽ, nếu bạn đang lưu trữ những ngày gần đây hơn, bạn sẽ không bao giờ cần nhiều hơn 256 giá trị năm có thể, phù hợp chính xác thành một byte. Điều này giúp bạn tiết kiệm không gian đáng kể: thay vì sử dụng nhiều byte để lưu trữ số nguyên 1901, 1900 năm trong số đó có thể được coi là thừa trong nhiều trường hợp, MySQL xử lý nội bộ nó chỉ là số 1 và hiển thị nó vào năm 1901 vì lợi ích của bạn.

Nếu bạn cần thêm năm, hãy sử dụng loại dựa trên INT.

1

Để vừa với giá trị vào một byte đơn. Sự lựa chọn của 1901-2155 là tùy ý, nhưng thực tế là nó hỗ trợ giá trị 1 byte giá trị thì không.

0

Loại năm là loại một byte. Một byte = 256 giá trị. Có thể thực hiện theo cách này vì hầu hết các ngày sẽ nằm trong phạm vi đó để tiết kiệm byte ...

Bạn có thể sử dụng chuỗi cho ngày cũ hơn.

+1

Không, cảm ơn bạn đã sử dụng chuỗi. Nếu loại DATE ('1000-01-01' đến '9999-12-31') không bao gồm bạn, sau đó hút nó lên và sử dụng 3 trường số nguyên, nếu không bạn đang sử dụng hàng tấn dung lượng không cần thiết. Đó là sự khác biệt giữa 4 byte và 10 byte. – Matchu

+0

Không bao giờ sử dụng chuỗi để lưu trữ ngày! Sử dụng kiểu thích hợp, không có cách nào khác, sử dụng các kiểu thích hợp sẽ mang lại cho bạn tất cả các loại lợi ích: không có vấn đề về định dạng chuỗi, khả năng trích xuất các phần, phân loại thích hợp, tính toán sự khác biệt giữa ngày và v.v. –

Các vấn đề liên quan