mysql bit 和 tinyint 的区别及使用场景?
关于代表数据类型或状态的字段之前一直用的 tinyint
没关注过bit类型,查阅资料后,知道bit是存储二进制的,格式: b'0'
或 b'1'
其存储的单位直接是 bit
,而 tinyint
的最小单位是1字节。
然而有人说文章说 bit
不支持索引,文章来源:【MySQL】bit 类型引发的故事
个人认为:因为 php
是弱类型的, bit
类型查询没有 tinyint
方便,
据说更适合 java
,有知道的麻烦说明下原因?以及他们的区别和使用场景?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
tinyint是数字类型,存储小数, 一般对应编辑语言里的小字典或枚举类型. 节省空间的同时, 避免存入超范围的值.
bit类似多用于存储状态. 如bit(1) 直接对应Java语言的布尔类型true和false. 用做状态保存时一个字段可以保存多至64个状态.
如我开发的某个系统需要保存对用户发送短信的状态,有10几种不同类型的短信,每种都要标记发过没有, 这时候用bit类型就很方便,当然用int也能实现, 但用bit更符合语义. 查询或更新某个状态时按位操作即可.