MySQL开发规范详解:核心原则与最佳实践

需积分: 10 5 下载量 98 浏览量 更新于2024-07-18 收藏 309KB PDF 举报
"MySQL规范(系列一)是关于MySQL数据库开发的一份文档,涵盖了核心规范、基础规范、表设计规范、索引类规范、SQL使用规范以及行为规范等多个方面,旨在提升开发人员的数据库设计和操作技能。" 1. **核心规范** - 不在数据库进行计算,将CPU密集型计算转移到业务层处理。 - 控制单表的数据量,避免单表记录超过千万级别。 - 在效率和范式之间寻找平衡,必要时允许适当的数据冗余。 - 避免大SQL、大事务和大批量操作(3B原则)。 2. **基础规范** - 禁止在日常业务中使用存储过程、视图和触发器。 - 数据库中不应存储文件或图片。 - 强制使用InnoDB存储引擎,以保证事务处理和行级锁定。 - 使用utf8mb4字符集,支持更多的Unicode字符,包括APP端的表情。 - 表和字段需添加中文注释。 - 使用内网域名而非IP连接数据库。 - 库名、表名、字段名采用小写和下划线命名方式,不超过四个单词,且应直观表达含义,禁止混合拼音和英文。 - 控制单库的表数量不超过500张,每个表的字段数量不超过30个。 3. **表设计规范** - 禁止使用TEXT和BLOB类型,考虑其他存储方式。 - 不建议使用小数存储货币,建议以整数(如分)存储。 - 不使用ENUM类型,可使用TINYINT替代。 - 不使用外键,通过应用程序来控制数据完整性。 - 避免使用NULL,定义字段为NOT NULL并提供默认值。 - 主键id应为自增类型。 - 新建表必须包含id、create_time、remark字段,可选update_time和operator。 - 统一日期类型为datetime(3),确保毫秒级精度。 - 选择合适的数字类型,优先使用数值类型而不是字符串类型。 4. **索引类规范** (未提供具体内容,但通常包括合理创建和使用主键、唯一键和普通索引,避免全表扫描,优化查询性能等) 5. **SQL使用规范** (未提供具体内容,可能包括编写高效的SQL语句,避免全表扫描,正确使用JOIN操作,合理利用索引等) 6. **行为规范** (未提供具体内容,可能涉及代码审查、数据库变更管理、错误处理和日志记录等方面) 这份规范文档为MySQL开发提供了全面的指导,遵循这些规则有助于提高数据库性能、数据安全性和维护性。在实际开发中,应根据项目需求和团队约定灵活调整和应用这些规范。