MySQL数据库开发三十六条军规
需积分: 9 171 浏览量
更新于2024-07-26
收藏 1.8MB PDF 举报
“mysql36条军规”是关于MySQL数据库开发的经验总结,由数据库专家石展@赶集分享。这些军规旨在帮助开发者避免常见的错误,提高数据库性能和稳定性。
### 核心军规
1. **尽量不在数据库做运算**:数据库的主要职责是存储和检索数据,而不是进行复杂的计算。复杂的运算应在应用程序中处理,利用CPU的计算能力,以减轻数据库的压力,提高整体系统性能。
2. **控制单表数据量**:根据一年内数据量预估,纯INT字段不应超过1000万行,含CHAR字段不超过500万行。当数据量过大时,应考虑分表策略,如按USERID、DATE、AREA等进行分片。
3. **保持表身段苗条**:减少表字段数量,优化IO效率,加快全表遍历和修复速度,简化开发,快速执行ALTER TABLE操作。一般建议单表字段数控制在20~50个之间,单行大小不超过200Byte,纯INT字段不超过50个,CHAR(10)字段不超过20个。
4. **平衡范式与冗余**:在设计数据库时,需要权衡规范化和性能。过度规范化可能导致查询效率下降,适当冗余可以提高性能,但会增加代码复杂度。需要根据实际情况灵活调整。
5. **拒绝3B**:避免使用大SQL、大事务和大批量操作,因为它们会导致数据库性能瓶颈,随着数据量的增长,问题会更加突出。
### 字段类军规
1. **用好数值字段类型**:了解并正确使用TINYINT到BIGINT等不同数值类型,避免无意义的字段宽度设置,如INT(1)和INT(11)的区别,以及避免不必要的大整数自增和大精度浮点或定点数(如BIGINT AUTO_INCREMENT和DECIMAL(18,0))。
2. **将字符转化为数字**:如果可能,使用数字类型而非字符串类型作为索引,因为数字类型的索引在查询速度、空间占用上通常更具优势。
### 索引类军规
这部分未提供具体内容,但通常包括选择正确的索引类型(如B-TREE、HASH)、避免过多的全表扫描、合理创建复合索引、定期分析和优化索引等。
### SQL类军规
这部分可能涵盖避免使用子查询、优化JOIN操作、减少不必要的SELECT *、使用EXPLAIN分析查询计划、避免在WHERE子句中使用NOT IN和OR等。
### 约定类军规
这部分可能涉及命名规范、注释标准、代码审查流程、版本控制和文档编写等最佳实践。
“mysql36条军规”是一套实用的数据库开发准则,旨在帮助开发者构建高效、稳定且易于维护的MySQL数据库系统。遵循这些军规,可以在项目初期避免许多潜在问题,提高系统的可扩展性和可靠性。
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
ks_u1
- 粉丝: 0
- 资源: 5
最新资源
- AirKiss技术详解:无线传递信息与智能家居连接
- Hibernate主键生成策略详解
- 操作系统实验:位示图法管理磁盘空闲空间
- JSON详解:数据交换的主流格式
- Win7安装Ubuntu双系统详细指南
- FPGA内部结构与工作原理探索
- 信用评分模型解析:WOE、IV与ROC
- 使用LVS+Keepalived构建高可用负载均衡集群
- 微信小程序驱动餐饮与服装业创新转型:便捷管理与低成本优势
- 机器学习入门指南:从基础到进阶
- 解决Win7 IIS配置错误500.22与0x80070032
- SQL-DFS:优化HDFS小文件存储的解决方案
- Hadoop、Hbase、Spark环境部署与主机配置详解
- Kisso:加密会话Cookie实现的单点登录SSO
- OpenCV读取与拼接多幅图像教程
- QT实战:轻松生成与解析JSON数据