7
Khi xem xét chỉ có hai giá trị 0 & 1 hoặc True & False, nó là khá rõ ràng rằng BIT (1) làm một công việc tốt hơn:Tại sao MySQL giải thích Boolean là TINYINT (1) thay vì BIT (1)?
- BIT (1) lực lượng chỉ có 2 giá trị có thể: 0 và 1 , trong khi TINYINT (1) có thể chấp nhận bất kỳ giá trị số nguyên nhỏ hơn 10 (0,1,2,3,4,5 ....) có thể mơ hồ.
- Nhiều cột BIT (1) có thể được kết hợp thành byte để chúng yêu cầu ít không gian hơn nhiều cột TINYINT (1) làm.
Vậy tại sao MySQL giải thích Boolean là TINYINT (1) chứ không phải BIT (1)? Có lợi thế nào khi sử dụng TINYINT (1) trên BIT (1) trong việc xử lý các giá trị boolean không?
+1 Đối với quán tính. Tôi vẫn sử dụng 'TINYINT (1)' trong hầu như tất cả các trường hợp không có lý do chính đáng. –
+1 cho quán tính. Tôi vẫn sử dụng TINYINT (1) vì trình soạn thảo SQL yêu thích của tôi không cho phép ấn bản dữ liệu BIT đơn giản như cho TINYINT ... và nó có thể tiết kiệm rất nhiều thời gian trong một số trường hợp. – Donatello