MySQL 字段类型选择规范指南

选对字段类型是核心设计决策:整数按需取最小且优先无符号;金融数据必用DECIMAL;字符串首选VARCHAR,定长极短字段可用CHAR;时间统一用DATETIME;枚举改用TINYINT+字典表。选对字段类型不是细节问题,而是直接影响存储效率、查询性能和数据准确性的核心设计决策。关键不在"能用",而在"刚好够用"------小一点更省空间,确定性更强更少出错。整数类型:按需取最小,无符号优先整数类型要从 TINYINT → SMALLINT → MEDIUMINT → INT → BIGINT 逐级往上选,只用能满足业务最大值的最小类型。状态、开关、性别、年级等:用 TINYINT UNSIGNED(0~255),1 字节,快且省 用户 ID、订单号(预估不超 42 亿):用 INT UNSIGNED(0~4294967295),4 字节,通用稳妥 高频写入的超大规模表主键(如日志、消息ID):用 BIGINT UNSIGNED,避免未来溢出 明确不存负数的字段,一律加 UNSIGNED,既扩大正数范围,又防止误插负值 别用 INT(11) 这类带显示宽度的写法------它不影响存储和取值,纯属历史遗留显示控制,可忽略小数类型:金融必用 DECIMAL,浮点仅限科学场景FLOAT 和 DOUBLE 存的是近似值,计算时有精度漂移风险;DECIMAL 存的是精确十进制数,适合所有需要保真的场景。 RedClaw 百度推出的手机端万能AI Agent助手

相关推荐
captain3765 小时前
MyBatis(入门5)其他查询操作
java·数据库·spring boot·mybatis
前端精髓6 小时前
结构化输出with_structured_output(抽卡)
python·langchain
小此方6 小时前
Re:Mysql数据库基础篇(八):详细讲解复合查询、多表查询、自连接、多行、多列子查询与合并查询
数据库·mysql
xszivvvv6 小时前
Mariadb数据库frm文件异常,如何恢复数据
数据库·mariadb
smile_life_6 小时前
MySQL 设置 防止账户被暴力破解
数据库·mysql
尹人入圣6 小时前
目前热门的IP驱动产业新场景新工具
网络·python·网络协议·tcp/ip
ShineWinsu7 小时前
对于Qt:QRadioButton常见属性以及QButtonGroup的解析
数据库·c++·qt·microsoft·gui·qradiobutton·qbuttongroup
测试盐7 小时前
oracle数据库卡顿排查
数据库·oracle
滕州市燕猫虎计算机科技工作室个体工商户7 小时前
MySQL、MVCC、多版本并发控制
数据库·mysql·mvcc·数据库事务
明航咨询-陈老师7 小时前
ITSS运行维护服务能力成熟度认证技术纵深:标准模型、等级路径、2026审核趋势与CS/CMMI对比
服务器·数据库·cmmi