阿里数据库规范

摘抄自阿里的开发规范文档。仅供自己学习阅读

数据库规范:

  1. 字段允许适当冗余,以提高查询性能,但必须考虑数据一致。冗余字段应遵循:

a)       不是频繁修改的字段。

b)       不是varchar超长字段,更不能是text字段

  1. 单表行数超过500万行或者单表容量超过2GB,才推荐进行分库分表。
  2. 合适的字符存储长度,不但节约数据库表空间、节约索引存储,更重要的是提升检索速度。(即:定义字段的长度时要根据业务定义长度)
  3. 业务上具有唯一特性的字段,即使是多个字段的组合,也必须建成唯一索引。
  4. 超过三个表禁止join。需要join的字段,数据类型必须绝对一致;多表关联查询时,保证被关联的字段需要有索引。
  5. 在varchar字段上建立索引时,必须指定索引长度,没必要对全字段建立索引,根据实际文本区分度决定索引长度即可
  6. SQL性能优化的目标:至少要达到 range 级别,要求是ref级别,如果可以是consts最好。 说明:

a)       consts 单表中最多只有一个匹配行(主键或者唯一索引),在优化阶段即可读取到数据。

b)       ref 指的是使用普通的索引(normal index)。

range 对索引进行范围检索

posted @ 2017-10-18 09:24  熊窝窝  阅读(942)  评论(0编辑  收藏  举报