MySQL开发规范详解:核心原则与最佳实践
需积分: 10 157 浏览量
更新于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开发提供了全面的指导,遵循这些规则有助于提高数据库性能、数据安全性和维护性。在实际开发中,应根据项目需求和团队约定灵活调整和应用这些规范。
310 浏览量
435 浏览量
637 浏览量
2025-01-06 上传
快乐可以当钱花
- 粉丝: 4
- 资源: 2
最新资源
- 由Python编写的翻译程序
- RunAll:这是一个仅使用本机Google Apps脚本(GAS)运行并发处理的库
- 扬州大学电能学院计算机控制课程设计.zip
- cloud-aws-firmware-ci-feature-runner-action:使用@ nordicsemiconductore2e-bdd-test-runner运行固件的功能文件
- SIR_TP_JPA_rest_jpa_servlet
- ffmpeg.rar
- 《“笨办法”学Python》的读书笔记和编程习题.zip
- 家庭财务管理系统vs版本(C++面向对象课程设计)_仓库管理系统课程设计C语言
- javascriptGoogleGeocodingTest:在Google Geocoding API上进行功能测试的测试项目
- cdkr:集成R和CDK
- 滚动动画演示
- Python and uses two iterative methods
- HashMask-crx插件
- 电信设备-一种太阳能热水器LIFI通信装置及工作方法.zip
- 微信小程序联系Demo:银行卡绑定
- :victory_hand: 一个基于弹簧物理的 React 动画库