MySQL数据库开发涉及使用MySQL进行数据存储、查询、更新和管理,是Web应用和系统开发中的关键技术。
在MySQL数据库开发中,遵循一定的规范和最佳实践可以确保代码的可维护性、可扩展性和性能,从而确保数据库系统的稳定运行和长期发展,以下是MySQL数据库开发的几个关键规范:
规范类型 | 具体内容 |
基础规范 | 1. 存储引擎非特殊情况使用InnoDB,统一采用utf8mb4字符集。 2. 绝不能使用test作为库名。 3. 所有表、字段都应添加注释。 4. 对于大表修改表结构使用ghost、ptonlineschemachange。 |
命名规范 | 1. 所有SQL语句编写统一大小写风格,其中数据库关键字大写,库名、表名、字段名使用小写字母。 2. 数据库对象命名禁止超过30个字符。 3. 临时库、表名必须以tmp为前缀,并以日期为后缀。 4. 备份库、表必须以bak为前缀,并以日期为后缀。 |
表结构规范 | 1. 每个表均要求有主键,主键字段或组合字段必须满足非空属性和唯一性要求。 2. 对较少访问的大字段,尽量单独拆成一个表。 3. 禁用外键约束。 |
字段类型设计规范 | 1. 字段默认情况下尽可能为非空NOT NULL。 2. 越简单越好,将字符转化为数字、使用TINYINT代替ENUM类型。 3. 不使用负数值的字段须加入UNSIGNED属性。 |
索引设计规范 | 1. 不使用更新频繁的列作为主键。 2. 合理创建联合索引,联合索引(a,b,c) 等于 (a) 、(a,b) 、(a,b,c)三个索引。 3. 单张表的索引数量控制在5个以内。 |
SQL查询规范 | 1. SQL语句尽可能简单,大的SQL想办法拆分成小的SQL实现。 2. 不要使用SELECT * ,查询具体要用到的字段。 3. Where条件里不要对列使用函数,不会引用索引。 |
存储过程及函数使用规范 | 1. 在存储过程中,MySQL禁止使用下述语句:CHECK TABLES、LOCK TABLES, UNLOCK TABLES等。 2. 创建存储过程以 proc_开头命名,函数以 func_开头命名。 |
视图使用规范 | 1. 数据库不能包含具有相同名称的表和视图。 2. 定义中不能引用TEMPORARY表,不能创建TEMPORARY视图。 |
触发器使用规范 | 建议禁止使用触发器,触发器可以理解为是一个隐藏的存储过程,它不需要调用,不需要显示调用,维护起来容易被忽略,可以使用存储过程来替代。 |
FAQs:
1、为什么MySQL数据库开发时推荐使用InnoDB存储引擎?
InnoDB存储引擎支持事务处理,能够保证数据的一致性和完整性,同时具有较高的并发处理能力,这些特性使得InnoDB成为大多数应用环境下的首选。
2、为什么不推荐在MySQL数据库中使用外键约束?
虽然外键约束可以帮助维护数据的参照完整性,但在高并发环境下,外键检查可能会增加额外的开销,导致性能下降,外键的使用还可能导致死锁的发生,影响数据库的稳定性,在许多高性能的应用中,更倾向于通过应用程序逻辑来控制数据的完整性,而不是依赖数据库的外键约束。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1099969.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复