MySQL开发实战:三十六条军规详解
需积分: 9 17 浏览量
更新于2024-07-23
收藏 1.8MB PDF 举报
"MySQL详细使用 - 适合有一定数据库SQL基础的读者,内容涵盖数据库开发的实战经验和教训,强调实用主义。"
在MySQL数据库开发中,遵循一定的规则和最佳实践至关重要,这些规则可以帮助我们避免常见的错误,提高系统的性能和稳定性。以下是基于提供的内容提炼出的一些关键知识点:
1. **核心军规**
- **尽量不在数据库做运算**:数据库的主要职责是存储和检索数据,而非执行复杂的计算。应将运算任务留给应用程序的CPU处理,以减少数据库的负载并提高效率。
- **控制单表数据量**:预估一年内单表的数据量,纯INT字段不超过1000万,含CHAR字段不超过500万。当数据量过大时,考虑合理分表策略,如按USERID、DATE、AREA等进行分区。
- **保持表身段苗条**:表的设计应简洁,字段数量应控制在20至50个之间,以优化IO效率、全表扫描速度、修复速度、开发效率和ALTER TABLE操作。
- **平衡范式与冗余**:在设计数据库时,需要在遵循范式(如第一、第二、第三范式)和性能之间找到平衡。在适当情况下,可以牺牲部分范式以增加冗余,提高查询效率,但可能增加代码复杂度。
- **拒绝3B**:避免使用大SQL、大事务和大批量操作,因为这些会导致数据库性能下降,特别是在数据量非线性增长时。
2. **字段类军规**
- **用好数值字段类型**:选择合适的数值类型,如TINYINT、INT、FLOAT等,避免无意义的精度浪费,例如INT(1)与INT(11)的区别,以及避免不必要的大整数或大精度类型如BIGINT AUTO_INCREMENT和DECIMAL(18,0)。
- **将字符转化为数字**:对于可以表示为数值的数据,应使用数字类型而非字符串类型创建索引,以提高查询效率和节省存储空间。
这些军规旨在帮助数据库开发人员建立高效、稳定且易于维护的MySQL系统。通过遵循这些原则,可以减少潜在的问题,提高数据库性能,并降低灾难性故障的风险。在实际工作中,结合具体业务需求灵活应用这些知识,将有助于构建高质量的数据库解决方案。
245 浏览量
1145 浏览量
278 浏览量
293 浏览量
375 浏览量
334 浏览量
2024-09-24 上传
4913 浏览量
579 浏览量
xdlakery
- 粉丝: 0
- 资源: 3
最新资源
- readandwrite
- Probabilidade_e_Estatistica:Atividade eConteúdodaMatéria
- DLT和Tsai两步法标定相机的Matlab代码 里面附带验证程序
- java-20210325:Java
- minto
- Grid源代码.rar
- solve(f,a,b):如果可能,解f(x)= 0。-matlab开发
- WBD:Oracle Database 11g + GUI上的电话数据库项目
- springboot基础demo下载.zip
- 黑色闹钟3D模型
- HSKA-App:如果您在卡尔斯鲁厄应用科学大学学习INFB,MNIB,MKIB或INFM,则可以使用此应用程序获取有关成绩及更多信息的有用小部件。
- trigintpoly:函数 trigintpoly 使用 fft 来求三角插值多项式-matlab开发
- angular-gmohsw:用StackBlitz创建:high_voltage:
- Selenium网格拉胡尔
- MIPCMS内容管理系统 更新包 V2.1.2
- EventRepoRestApi:用Springboot和内存H2数据库编写的Rest API