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定长性能好
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)