阿里巴巴开发规范 之 MySQL 数据库

、MySQL 数据库
(一)建表规约

  1. 【强制】表达是与否概念的字段,必须使用 is_xxx 的方式命名,数据类型是 unsigned tinyint
    ( 1 表示是,0 表示否)。
    说明:任何字段如果为非负数,必须是 unsigned。
    正例:表达逻辑删除的字段名 is_deleted,1 表示删除,0 表示未删除。
  2. 【强制】表名、字段名必须使用小写字母或数字,禁止出现数字开头,禁止两个下划线中间只
    出现数字。数据库字段名的修改代价很大,因为无法进行预发布,所以字段名称需要慎重考虑。
    正例:getter_admin,task_config,level3_name
    反例:GetterAdmin,taskConfig,level_3_name
  3. 【强制】表名不使用复数名词。
    说明:表名应该仅仅表示表里面的实体内容,不应该表示实体数量,对应于 DO 类名也是单数
    形式,符合表达习惯。
  4. 【强制】禁用保留字,如 desc、range、match、delayed 等,请参考 MySQL 官方保留字。
  5. 【强制】主键索引名为 pk_字段名;唯一索引名为 uk_字段名;普通索引名则为 idx_字段名。
    说明:pk_ 即 primary key;uk_ 即 unique key;idx_ 即 index 的简称。
  6. 【强制】小数类型为 decimal,禁止使用 float 和 double。
    说明:float 和 double 在存储的时候,存在精度损失的问题,很可能在值的比较时,得到不
    正确的结果。如果存储的数据范围超过 decimal 的范围,建议将数据拆成整数和小数分开存储。
  7. 【强制】如果存储的字符串长度几乎相等,使用 char 定长字符串类型。
  8. 【强制】varchar 是可变长字符串,不预先分配存储空间,长度不要超过 5000,如果存储长
    度大于此值,定义字段类型为 text,独立出来一张表,用主键来对应,避免影响其它字段索
    引效率。
  9. 【强制】表必备三字段:id, gmt_create, gmt_modified。
    说明:其中 id 必为主键,类型为 unsigned bigint、单表时自增、步长为 1。gmt_create,
    gmt_modified 的类型均为 date_time 类型。
  10. 【推荐】表的命名最好是加上“业务名称_表的作用”。
    正例:tiger_task / tiger_reader / mpp_config
  11. 【推荐】库名与应用名称尽量一致。
  12. 【推荐】如果修改字段含义或对字段表示的状态追加时,需要及时更新字段注释。
    阿里巴巴 Java 开发手册
    ——禁止用于商业用途,违者必究—— 22 / 33
  13. 【推荐】字段允许适当冗余,以提高查询性能,但必须考虑数据一致。冗余字段应遵循:
    1)不是频繁修改的字段。
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: MySQL阿里巴巴开发规范阿里巴巴公司在使用MySQL数据库时所制定的一套规范和标准,旨在提高数据库开发的效率和可维护性,确保数据库设计和使用的一致性。 该开发规范主要包括以下几个方面: 1. 命名规范:规定了表、字段、索引等命名的统一规则,使命名规范清晰、易于理解和维护。 2. 数据类型选择:对于不同类型的数据,规范指定了应该选择的最佳数据类型,以减少存储空间、提高查询效率。 3. 索引规范规范了索引的创和使用规则,包括何时应该创索引、如何选择合适的索引、避免创过多的索引等。 4. SQL语句规范:对常用的SQL语句进行了规范,包括SELECT、INSERT、UPDATE、DELETE等操作的书写格式、参数的使用等,以提高SQL语句的可读性和可维护性。 5. 安全规范:包括数据库的访问控制、权限管理,以及对敏感数据的保护等,确保数据库的安全性和可信度。 6. 性能优化规范:对于大数据量的表和复杂的查询,规范提供了一些性能优化的议和注意事项,以提高数据库的查询速度和响应性能。 通过遵循阿里巴巴MySQL开发规范,团队成员能够更好地协同开发、维护数据库,提高数据库设计和使用的质量和效率,并减少潜在的安全隐患。这样的规范不仅适用于阿里巴巴公司内部,也可以为其他企业提供参考和借鉴。 ### 回答2: MySQL阿里巴巴开发规范是由阿里巴巴集团提出的一套用于MySQL数据库开发规范和最佳实践。它的目的是帮助开发人员编写高质量、高效、可维护的MySQL代码,并提供一致性和标准化的开发模式。 该规范覆盖了MySQL的各个方面,涵盖了数据库设计、SQL编写、性能优化、安全性等内容。下面是一些阿里巴巴MySQL开发规范的要点: 1. 数据库设计:规范数据库结构,确保每个表都有主键,并立合适的索引来优化查询性能。 2. SQL编写:避免使用SELECT *,尽量减少不必要的数据库交互,使用行级锁来提高并发性能。 3. 数据类型选择:选择恰当的数据类型,避免使用字符类型存储数值数据,减少存储空间和查询时间。 4. 查询优化:合理使用索引,避免全表扫描,使用联合索引来提高查询效率。 5. 事务处理:合理划分事务范围,减少事务嵌套,避免长事务对数据库性能的影响。 6. 安全性:严格授权和鉴权,限制用户对数据库的操作权限,防止安全漏洞。 7. 性能监控:定期进行数据库性能监控和优化,保持数据库的健康运行。 遵守阿里巴巴MySQL开发规范可以提高代码的可维护性和性能,避免出现常见的数据库开发问题和安全漏洞。同时,这也有助于统一团队的开发标准,提高协作效率和代码质量。 ### 回答3: MySQL阿里巴巴开发规范是指阿里巴巴集团在MySQL数据库开发方面的规范与最佳实践。 首先,在数据库设计方面,规范要求遵循3NF(第三正则形式)范式,避免数据冗余和数据不一致。表的命名要简洁明了,采用小写字母和下划线的组合,避免使用特殊字符和关键字。字段的命名要具有可读性和一致性,使用英文单词或者简写,避免使用拼音或者缩写。 其次,在SQL语句编写方面,规范要求使用带有注释的格式化SQL语句,便于维护和阅读。SQL语句要避免使用SELECT *,而是明确指定需要查询的字段,减少查询的数据量和提高查询性能。另外,要注意在使用JOIN连接表时,避免使用笛卡尔积,应使用合适的索引来优化查询。 此外,在事务处理方面,阿里巴巴开发规范要求进行合理的事务管理,避免长事务和悬挂事务的出现。在事务处理时要注意合理设置事务隔离级别,并确保事务的原子性、一致性、隔离性和持久性。 最后,在性能调优方面,规范要求合理使用索引来提高查询性能,避免创过多的冗余索引。同时,要合理设置MySQL的参数配置,根据实际情况进行优化。并定期进行性能监控和性能调优,以确保数据库的高可用性和高性能。 总结而言,MySQL阿里巴巴开发规范着重强调数据库设计、SQL编写、事务处理和性能调优等方面的规范与最佳实践,以提高数据库的可维护性、可靠性和性能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值