MySQL开发军规:实战经验与教训
4星 · 超过85%的资源 需积分: 9 11 浏览量
更新于2024-07-30
收藏 1.8MB PDF 举报
"《MySQL数据库开发的三十六条军规》由石展在杭州的演讲整理,分享了数据库开发的经验和教训,旨在提供实用的数据库设计和优化指导。"
本文主要围绕MySQL数据库开发中的最佳实践,提供了36条军规,分为五个部分:核心军规、字段类军规、索引类军规、SQL类军规和约定类军规。以下是对这些军规的详细解释:
1. **核心军规**
- **尽量不在数据库做运算**:避免在SQL语句中进行复杂的计算,将其移到应用程序端处理,以便充分利用CPU资源,提高数据库执行效率。
- **控制单表数据量**:根据业务需求预测单表一年内的数据量,避免单表数据过大导致性能下降。一般建议纯INT类型不超过1000万行,含CHAR类型不超过500万行。
- **保持表身材苗条**:减少表字段数量,提高I/O效率,加快全表扫描、表修复和ALTER TABLE操作。通常,单表字段数建议控制在20至50个之间。
- **平衡范式与冗余**:在遵循数据库范式原则的同时,考虑性能优化,必要时可适当牺牲范式,添加冗余字段,但需注意这会增加代码复杂度。
- **拒绝3B**:避免编写大型SQL、大事务和大批量操作,这些可能导致数据库性能瓶颈。
2. **字段类军规**
- **用好数值字段类型**:选择合适的数值类型,如TINYINT、INT、FLOAT等,避免不必要的空间浪费。注意区分实际需求,如INT(1)与INT(11)的区别。
- **将字符转化为数字**:对于可以表示为数字的数据,应使用数字类型而不是字符串类型,以提高索引效率和节省存储空间。
3. **索引类军规**(部分内容未给出,可能包括创建合理的索引,避免全表扫描,以及对经常用于查询的字段建立索引等)。
4. **SQL类军规**(部分内容未给出,可能包括优化SQL语句,避免子查询,使用JOIN代替子查询,以及正确使用事务等)。
5. **约定类军规**(部分内容未给出,可能涉及数据库命名规范,代码注释,版本控制等团队协作中的最佳实践)。
这些军规旨在帮助数据库开发者避免常见的错误,提高数据库性能,并确保系统稳定性和可维护性。在实际开发中,结合业务需求灵活运用这些规则,可以有效提升数据库开发的质量和效率。
2022-03-21 上传
2018-02-28 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
dingzhun
- 粉丝: 12
- 资源: 4
最新资源
- 火炬连体网络在MNIST的2D嵌入实现示例
- Angular插件增强Application Insights JavaScript SDK功能
- 实时三维重建:InfiniTAM的ros驱动应用
- Spring与Mybatis整合的配置与实践
- Vozy前端技术测试深入体验与模板参考
- React应用实现语音转文字功能介绍
- PHPMailer-6.6.4: PHP邮件收发类库的详细介绍
- Felineboard:为猫主人设计的交互式仪表板
- PGRFileManager:功能强大的开源Ajax文件管理器
- Pytest-Html定制测试报告与源代码封装教程
- Angular开发与部署指南:从创建到测试
- BASIC-BINARY-IPC系统:进程间通信的非阻塞接口
- LTK3D: Common Lisp中的基础3D图形实现
- Timer-Counter-Lister:官方源代码及更新发布
- Galaxia REST API:面向地球问题的解决方案
- Node.js模块:随机动物实例教程与源码解析