MySQL数据库开发实战:三十六条军规

需积分: 9 3 下载量 153 浏览量 更新于2024-07-27 收藏 1.8MB PDF 举报
"MySQL数据库开发的三十六条军规,由石展分享,涵盖了核心军规、字段类军规、索引类军规、SQL类军规和约定类军规,旨在提供实用的数据库开发指导,避免不必要的问题和灾难。" MySQL数据库开发的三十六条军规是一份实践性极强的指南,主要面向数据库开发人员,强调在设计和操作数据库时应遵循的原则。以下是一些关键要点的详细解释: 1. **核心军规**: - **尽量不在数据库做运算**:这是因为数据库系统不是为了执行复杂的计算而设计的,而是为了高效地存储和检索数据。运算应尽可能在应用程序中完成,以减轻数据库的负担。 - **控制单表数据量**:根据描述,建议一年内单表数据量不超过一定范围,如纯INT类型不超过1000万,含CHAR类型不超过500万,以防止数据库过载。 - **保持表身段苗条**:减少表的字段数量可以提高IO效率,加快全表遍历、表修复速度,以及ALTER TABLE操作的速度。一般建议单表字段数控制在20至50个之间。 - **平衡范式与冗余**:在效率和规范化之间找到平衡,有时为了性能牺牲部分范式,但可能增加代码复杂度。 - **拒绝3B**:避免大SQL(BIGSQL)、大事务(BIGTransaction)和大批量(BIGBatch),因为这些操作可能导致数据库性能急剧下降。 2. **字段类军规**: - **用好数值字段类型**:选择合适的数值类型,如TINYINT到BIGINT,以及FLOAT、DOUBLE和DECIMAL,避免不必要的空间浪费。注意,如INT(1)和INT(11)在存储上并无区别,而DECIMAL(18,0)可能造成不必要的存储开销。 - **将字符转化为数字**:对于可以表示为数字的数据,使用数字类型而非字符串类型,因为数字类型的索引效率更高,查询速度更快,且占用空间更小。 这些军规提供了数据库设计和优化的宝贵指导,有助于预防潜在的问题,提高系统的稳定性和性能。遵循这些原则,数据库开发人员可以创建出更加高效、可维护的数据库系统。