mysql bit 和 tinyint 的区别及使用场景?

发布于 2022-09-07 22:19:09 字数 477 浏览 23 评论 0

关于代表数据类型或状态的字段之前一直用的 tinyint

没关注过bit类型,查阅资料后,知道bit是存储二进制的,格式: b'0'b'1'
其存储的单位直接是 bit ,而 tinyint 的最小单位是1字节。
然而有人说文章说 bit 不支持索引,文章来源:【MySQL】bit 类型引发的故事

个人认为:因为 php 是弱类型的, bit 类型查询没有 tinyint 方便,

据说更适合 java,有知道的麻烦说明下原因?以及他们的区别和使用场景?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

鲜肉鲜肉永远不皱 2022-09-14 22:19:09

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文