数据库设计规范

1,数据库内部非常用功能使用规范

1)、尽量不使用存储过程 、函数、触发器等

2)、避免使用 外键' ,主子表一致性由业务程序来保证

2,库、表、字段、索引命名规范

1)、不以数字打头及特殊字符打头

2)、命名避免使用MYSQL相关关键字

3)、命名长度尽量控制在32个英文字符以内

4)、多个单词以下划线 '_' 分隔保证语义清晰

5)、不添加如 a_、t_ 类似无明显含义的字符

6)、普通索引命名以 'ind_' 或' idx_' 开头

3,字段及索引设计规范

1)、主键字段类型一律用bigint或无符号bigint (无特殊考虑默认自增) 尽量以 '中性' (与业务无关) 字段存在

2)、尽量使用varchar 或 tinyint 来替换 char 类型字段

3)、varchar 字段类型长度尽量控制在191或255以内 [uft8mb4对应191 、 uft8 对应255]

4)、日期/时间存储建议直接使用datetime 不推荐使用 timestampbigint/int

5)、所有字段特别是索引字段尽量NOT NULL增加默认值

6)、尽量不使用blob类型字段,不常检索的text 、blob等大字段拆分存储

7)、不同表之间具有关联关系字段,类型及其类型长度必须一致

8)、尽量以一个索引 '覆盖尽量多' 查询,避免只创建单列索引

9)、单表字段个数尽量控制在12个以内,索引个数尽量控制在6个左右

10)、所有表及其字段都尽量增加 '注释'

4,SQL书写规范

1)、拒绝全表扫描,带条件的查询务必走索引

2)、按需返回字段而不是统一 select * 

3)、尽量业务端排序,减少数据库端order by

4)、尽量避免对where条件字段进行计算

5)、分页查询避免直接使用limit xxx,yyy

6)、插入操作采用insert into  t1(field1,field2) 方式

7)、查询条件变量传入拒绝SQL拼接考虑prepare

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.数据库设计 1.1库名 1.库的名称尽量控制在32个字符以内,最长不超过64个字符,相关模块的表名与表名之间尽...
    Mwk阅读 6,423评论 0 4
  • 军规适用场景:并发量大、数据量大的互联网业务军规:介绍内容解读:讲解原因,解读比军规更重要一、基础规范(1)必须使...
    玩味Orz阅读 5,796评论 0 4
  • 转 # https://www.cnblogs.com/easypass/archive/2010/12/ 08/...
    吕品㗊阅读 13,307评论 0 44
  • 1、引言 数据库设计过程中表、字段等的命名规范也算是设计规范的一部分,不过设计规范更多的是为了确保数据库设计的合理...
    SnowflakeCloud阅读 41,160评论 0 48
  • 小时候,总是疯狂地追剧,天龙八部、射雕英雄传、倚天屠龙记……痴迷于其中那一个又一个有血有肉的丰满立体的人物角色,更...
    陈皮吃西瓜阅读 2,607评论 3 1