生产环境数据开发规范以及注意事项(内容会不断更新)

效率规范

  1. 唯一索引名为 uk_字段名;普通索引名则为 idx_字段名
  2. 单表行数超过500万或者单表容量为2G的时候建议分库分表(经验值)、如果表数据量在3年内达不到500万的时候不需要在建表的时候进行分库分表。
  3. 业务上具有唯一属性的字段或者组合字段也需要建立唯一索引
  4. 3张表关联的时候保证关联字段的数据类型一致并且关联字段建立索引
  5. isNull(null) 返回值1 、isNull(任何值) 返回值都是0
  6. 在进行匹配的时候建议优先选择exist、如果一定要用in的话 建议使用in匹配的内容在1000以内 。备注数据量小的时候in与exists区别。大的话建议exists
  7. 建表时认识使用innoDB这种存储引擎
  8. 减少使用or语句,可将or语句优化为union。where a=1 or b=2 优化为 where a=1 union where b=2
  9. 对于一些状态或者类型的字段 建议使用tinyint和smallint

问题考虑

  1. 普通索引与唯一索引的区别 ?
  2. 如果进行分库分表、分库分表的优缺点 ?
  3. 数据库表的存储引擎区别?

建表规范

  1. 唯一索引名为 uk_字段名;普通索引名则为 idx_字段名
  2. 小数类型为 decimal,禁止使用 float 和 double
  3. 建表时必须有 comment 说明字段或者是表的业务
  4. 库的名称必须控制在32个字符以内,相关模块的表名与表名之间尽量提现join的关系,如user表和user_login表
  5. 创建表时必须显式指定字符集为utf8或utf8mb4
  6. 建表时所有字段不能为null,要指定为 NOT NULL 最好给上默认值 DEFAULT
  7. 字段名一律小写,多个词之间用 _ (下划线) 分隔

建表语句样例

新增表必须包含一下字段

'''
`yn` int(1)  NOT NULL DEFAULT 1 COMMENT '是否删除 0无效 1有效',`created_date` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`creator` varchar(32) NOT NULL DEFAULT 'system' COMMENT '创建者', `modifier` varchar(32) NOT NULL DEFAULT 'system' COMMENT '修改者', `modified_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',`version` int(10) NOT NULL DEFAULT 0 COMMENT '版本',''''''

一个较为规范的建表语句样例

CREATE TABLE user (
`id` bigint(11) NOT NULL AUTO_INCREMENT,
`user_id` bigint(11) NOT NULL DEFAULT 0 COMMENT ‘用户id’
`username` varchar(45) NOT NULL DEFAULT '' COMMENT '真实姓名',
`email` varchar(30) NOT NULL DEFAULT '' COMMENT ‘用户邮箱’,
`yn` int(1) NOT NULL DEFAULT 1 COMMENT '是否删除 0无效 1有效',
`created_date` timestampNOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`creator` varchar(32) NOT NULL DEFAULT 'system' COMMENT '创建者',
`modifier` varchar(32) NOT NULL DEFAULT 'system' COMMENT '修改者',
`modified_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`version` int(10) NOT NULL DEFAULT 0 COMMENT '版本',
PRIMARY KEY (`id`),
UNIQUE KEY uk_user_id (`user_id`),
KEY idx_username(`username`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8   COLLATE=utf8_bin  COMMENT='用户信息';
'''

Mysql 资源地址

“[https://shop137604155.taobao.com/?spm=2013.1.1000126.d21.72c43d688WSxj8]”(https://shop137604155.taobao.com/?spm=2013.1.1000126.d21.72c43d688WSxj8)

  • 这个链接记录的内容以及信息会更加详细。
  • 或者也可以添加本人的钉钉账号 直接免费发送给你发送相关资源、添加时 请备注 城市+岗位 + 渠道。

生产环境数据库开发规范相关推荐

  1. 1、 数据库开发规范

    第1章 数据库开发规范的制定 数据库设计步骤: 1.数据结构设计:逻辑设计->物理设计 2.实际工作中:逻辑设计+物理设计 3.物理设计:表名+字段名+字段类型 数据库设计几个规范: 数据库命名 ...

  2. MySQL数据库开发规范

    MySQL数据库开发规范 一.基础规范 (1)必须使用InnoDB存储引擎 解读:支持事务.行级锁.并发性能更好.CPU及内存缓存页优化使得资源利用率更高 (2)必须使用UTF8字符集 解读:万国码, ...

  3. 31 SpringBoot多环境的切换(生产环境、开发环境、测试环境)

    参考链接: Spring官网 Spring官网 外部配置加载顺序的说明 SpringBoot多环境的切换(生产环境.开发环境.测试环境)_周太阳的博客-CSDN博客_springboot测试生产环境切 ...

  4. 58到家MySQL数据库开发规范(javamysql数据)

    58到家MySQL数据库开发规范(javamysql数据) 一.基础规范 表存储引擎必须使用InnoDB 表字符集默认使用utf8,必要时候使用utf8mb4 解读: (1)通用,无乱码风险,汉字3字 ...

  5. mysql数据库开发要求_MYSQL数据库开发规范

    MYSQL数据库开发规范 (一) 建表规约 1.[推荐]表达是与否概念的字段,必须使用 is_xxx 的方式命名,数据类型是 unsigned tinyint ( 1 表示是,0 表示否). 说明:任 ...

  6. (17/24) webpack实战技巧:生产环境和开发环境并行设置,实现来回切换

    (17/24) webpack实战技巧:生产环境和开发环境并行设置,实现来回切换 1. 概述 生产环境和开发环境所需依赖是不同: --开发依赖:就是开发中用到而发布时用不到的.在package.jso ...

  7. vue--echarts 图标库、excel导出、面包屑组件、富文本框、地图、前端使用代理访问、监控生产环境or开发环境

    目录 一.echarts 图标库 1.echarts的基础 2.项目中的使用 二.execl导出 三.面包屑组件 四.富文本框 五.地图 六.vite 构建配置 七.后端未开跨域资源共享,前端使用代理 ...

  8. 达梦数据库开发规范及存储过程与函数

    达梦数据库开发规范 DMSQL语句有三个特点:1.是服务器端存储过程语言(可避免数据一下子传到数据库中造成拥挤),因此可以对数据进行高效处理:2.具有很好的可重用性:3.降低网络拥挤 DMSQL程序由 ...

  9. Vue cli3配置生产环境,开发环境,和测试环境

    目录 1.先在package.json文件中添加: 2.在项目目录下建立 .env文件和.env.test文件 3.配置api变量      3.1.配置axios的baseURL路径      3. ...

最新文章

  1. 分布式文件系统HDFS 练习
  2. 深入分析 Java I/O 的工作机制--转载
  3. 【预告】1月6日下午14:30 CLR开发系列课程(3):COM Interop基础 (Level 300)
  4. Robotium todolist.test.testcases.logout
  5. POJ3666-Making the Grade【线性dp】
  6. 如何修改服务器mac地址,如何修改服务器mac地址
  7. tkinter中scale拖拉改变值控件(十一)
  8. 保护可执行程序的一种方法
  9. python--从入门到实践--chapter 11 代码测试unittest
  10. hdu-3488-Tour(KM最佳完美匹配)
  11. WPF datagrid 加入图片
  12. 如何利用FL Studio进行听湿录干的声音录制
  13. Python图像处理](2)---图像融合、加法运算及图像类型转换、图像缩放、图像旋转、图像翻转与图像平移
  14. nekohtml转换html时标签变大写的问题
  15. 代码自动生成-宏带来的奇计淫巧
  16. FeedSky更新出现很大延时
  17. 计算机积木游戏,A*算法分析(积木块游戏)
  18. 印刷业的“用户端价值”战争
  19. 一起学 WebGL:图元的类型
  20. echarts柱状图自定义显示内容

热门文章

  1. 在计算机网络中 带宽是什么,在计算机网络中,“带宽”用____表示。
  2. 《MySQL系列》MySQL详细入门教程
  3. 相似度系列-6:单维度方法:Evaluating Coherence in Dialogue Systems using Entailment
  4. c语言 char = china,[求助]char a []=CHINA
  5. 用于自然语言理解的多任务深度神经网络
  6. Android视图绑定,设置控件点击事件不生效
  7. Linux操作系统与Shell编程
  8. 武林三国辅助工具介绍
  9. 小学计算机听课总评,小学听课评课评语大全
  10. SpringMvc+饿了么UI组件+七牛云做图片上传