Mysql数据库设计规范

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Mysql数据库设计规范

Mysql 数据库规范

Version 1.0 创建时间2019-08-01

1. 命名规范

(1)库名、表名、字段名必须使用小写字母, 并采用下划线分割。

(2)库名、表名、字段名尽量不要超过32个字符。

(3)库名、表名、字段名必须见名知意。命名与业务、产品线等相关联。

(4)库名、表名、字段名禁止使用MySQL 保留字。

(保留字列表见/doc/refman/5.5/en/keywords.html) 2. 基础规范

(1)使用INNODB 存储引擎。

(2)表字符集使用UTF8字符集,校验字符集使用utf8_general_ci

(3)所有表都需要添加注释; 除主键外的其他字段都需要增加注释。

(4)禁止在数据库中存储图片、文件等大数据。

(5)每张表数据量建议控制在5000W 以内。

(6)禁止在线上做数据库压力测试。

(7)禁止从测试、开发环境直连线上数据库。

3. 库表设计

(1)禁止使用分区表。

(2)将大字段、访问频率低的字段拆分到单独的表中存储, 分离冷热数据。

(3)采用合适的分库分表策略。例如千库十表、十库百表等。

4. 字段设计

(1)建议使用UNSIGNED 存储非负数值。

(2)建议使用INT UNSIGNED存储IPV4。

(3)用DECIMAL 代替FLOAT 和DOUBLE 存储精确浮点数。例如与货币、金融相关的数据。

(4)INT类型固定占用4字节存储,

(5)区分使用TINYINT 、SMALLINT 、MEDIUMINT 、INT 、BIGINT 数据类型。例如取值范围为0-80时, 使用TINYINT UNSIGNED。

(6)强烈建议使用TINYINT 来代替ENUM 类型。

(7)尽可能不使用TEXT 、BLOB 类型。

(8)禁止在数据库中存储明文密码。

(9)使用尽可能小的VARCHAR 字段。VARCHAR(N)中的N 表示字符数而非字节数。

(10)区分使用DATETIME 和TIMESTAMP 。存储年使用YEAR 类型。存储日期使用DATE 类型。存储时间(精确到秒) 建议使用TIMESTAMP 类型。

(11)所有字段均定义为NOT NULL。

5.索引规范

(1)单张表中索引数量不超过5个。

(2)单个索引中的字段数不超过5个。

(3)索引名必须全部使用小写。

相关文档
最新文档