mysql-数字类型:自增主键踩坑

1. 不推荐使用整形设置unsigned 若非使用参数 sql_mode 务必额外添加上选项 NO_UNSIGNED_SUBTRACTION;

  unsigned的字段当聚合计算的时候当出现负数的时候会报错,如果不加上面的参数时

2. 自增整形类型做主键建议使用bigint 

  因为int最大范围42亿 范围对一般业务来说还是小 

3. mysql8.0之前自增类型在mysql会有回溯的情况

  举例: 自增整形主键3 先delete 然后插入新的值时主键会是4,这时不发生回溯,当删除3之后重启mysql 再插入主键仍是3

4. 当自增整形主键达到最大值时再添加会报重复错误 

  推崇在大业务量的情况下主键使用字符串

5. 不要使用float/double 后续版本会不支持

6. 账户余额等字段使用bigint 不使用decimal

  decimal是一个变长字段,金额不统一范围很大,不好统一

  decimal是通过二进制实现的编码计算效率不如整型

  bigint可以存储千兆级别的数值

  bigint定长性能好

posted @   rudynan  阅读(1483)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示