• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

记录MySQL开发规范

mysql 搞代码 4年前 (2022-01-09) 25次浏览 已收录 0个评论

Mysql视频教程栏目介绍MySQL的开发规范

推荐(免费):mysql视频教程

基础规范

  • 使用innodb存储引擎

  • 表字符集使用utf-8

  • 所有表添加注释

  • 单表数据量建议控制在5000W以内

  • 不再数据库中存储图、文件等大数据

  • 禁止在线上做数据库压力测试

  • 禁止测试、开发环境直连数据库

命名规范

  • 库名表名字段名必须有固定的命名长度,12个字符以内

  • 库名、表名、字段名禁止超过32个字符。须见名之意

  • 库名、表名、字段名禁止使用MySQL保留字

  • 临时库、表名必须以tmp为前缀,并以日期为后缀

  • 备份库、表必须以bak为前缀,并以日期为后缀

库、表、字段开发设计规范

  • 禁止使用分区表

  • 拆分大字段和翻身顾问频率低的字段,分离冷热数据

  • 用HASH进散表,表名后缀使进制数,下标从0开始

  • 按日期时间分表需符合YYYY[MM][DD][HH]格式

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

  • 尽可能不适用text、blob类型

  • 用decimal代替float和double存储精确浮点数

  • 越简单越好:将字符转换为数字、使用tinyint来代替enum类型

  • 所有字段均为not null

  • 使用unsigned存储非负数

  • int类型固定占有4字节存储

  • 使用timestamp存储时间

  • 使用int unsigned存储ipv4

  • 使用varbinary存储大小写敏本文来源gaodai#ma#com搞@@代~&码*网2感的变长字符串

  • 禁止在数据库中存储明文密码,把密码加密后存储

  • 用好数值类型字段

    类型

    字节

    最小值

    最大值

    tinyint

    1

    -128

    127

    smallint

    2

    -32768

    32767

    mediumint

    3

    -8388608

    8388607

    int

    4

    -2147483648

    2147483647

    bigint

    8

    -9223372036854775808

    9223372036854775807

    如果数值字段没有那么大,就不要用bigint

  • 存储ip最好用int存储而非char(15)

  • 不允许使用enum

  • 避免使用null字段

    null字段很难查询一花,null字段的索引需要额外空间,null字段的复合索引无效。

索引规范

  • 单个表中的索引数量不超过5个

  • 单个索引中的字段数不超过5个

  • 对字符串使用前缀索引,前缀索引长度不超过8个字符

  • 建议优先考虑前缀索引,必要可添加伪列并建立索引

  • 表必须有主键


  • 搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
    转载请注明原文链接:记录MySQL开发规范

    喜欢 (0)
    [搞代码]
    分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址