mysql 第四十四篇文章~谈谈最基本的规范

一 简介:今天咱们来谈谈研发规范

二 规范
   1 表
       1 选择合适的字符集和存储引擎 推荐innodb utf8mb4
       2 表名称不要包含mysql关键字,符合命名规范
       3 不建议采用外键
       4 尽量不要采用分区表,采用分库分表是最优方案
  2 列
       1 每一列都要设置comment注释 
       2 每一列最好都设置为非NULL,设置默认值
       3 varchar和char的选择 定长选择char 变长选择varchar ,字符型长度尽量不要太大,否则日后维护和创建索引会有限制
       4 datetime和timestamp的选择 1 timestamp 1 默认值系统时间和更新触发属性2 有时间限制(1970-2038) 2datetime 1插入系统时间now() 2 无默认时间及更新属性,3 相当于无时间限制,4允许为空 所以这个看需求定义
       5 集合,枚举,位图类型类型尽量不要选择
       6 对于int类型,尽量规范出 int bigint tinyint进行细化定义,能用小不要用大,并采用无符号型
       7 表主键选择(1 自增数字主键(推荐) 2 varchar类型(除非业务需要,否则尽量不要选择作为主键)),尽量避免联合主键的情况,可以采用唯一性索引进行约束
 3 索引
      1 索引尽量在建表时建立好
      2 尽量用多列索引代替多个单列索引
      3 索引的最大长度
         1 所有索引键最大长度总和不能超过1000,而且不是实际数据长度的总和,而是索引键字段定义长度的总和。
         2 正因为索引有长度限制,所以针对字符型的长度要做限制
      4 一个表中索引个数不要太多,否则会影响DML操作效率
      5 索引的命名规范要有逻辑性,最好统一为idx_
      6 索引的创建选择列要选择区分度较高的列

三 总结:

关于创建表的规范,参考了inception审核体系和平时的一些经验.有不足和错误的地方请指正

时间: 2024-08-29 09:15:12

mysql 第四十四篇文章~谈谈最基本的规范的相关文章

mysql 第四十五篇文章~初探MGR

一 简介 :MGR一直没有时间测试,今天咱们来初步了解搭建一下呗 二 环境: mysql5.7.20  单台机器 启动三实例 三  mysql 搭建: 1 建立相关目录+ mkdir -p /data/mysql/data_3306 mkdir -p /data/mysql/data_3307 mkdir -p /data/mysql/data_3308 2 脚本初始化 /usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql

mysql 第三十五篇文章~xtarbackup增量备份以及策略

一 简介: 今天咱们来探讨下增量备份的策略 二 背景: 随着数据量的日益增长,全备已经不现实了,所以探讨并测试了增量备份策略 三 具体策略: 1  一周为界限,一天做全备,其他时间以全备为基础进行增量备份 2  一周为界限,进行打包,然后上传到备份服务器 四 具体脚本: 第一部分 参数变量初始化 #!/bin/bash #config xingqi=`date +%w` DATE=`date +%Y%m%d%H` DATEyst=`date +"%Y%m%d%H" -d "-

mysql 第三十九篇文章~canal的深度解读1

一 简介:经过一段时间的研究,对canal有了一些见解 二 配置文件: 1 canal.properties (系统根配置文件)     主要参数列表   canal.properties (系统根配置文件)   canal.destinations= example 当前server上部署的instance列表 默认为example 在canal.properties定义了canal.destinations后,需要在canal.conf.dir对应的目录下建立同名的文件 canal.auto

mysql 第三十二篇文章~并发导致的从库延迟问题

一 简介:今天来聊聊周期性从库延迟的问题 二 背景:近期每天的指定时间段,收到从库延迟的报警,然后过一段时间恢复.由于从库是提供读服务的,所以需要解决 三 分析思路: 1 周期性延时,而且全部从库都出现延迟,应该是由于主库的DML操作引起的 2 查看主库的慢日志记录(我们的数据库会每小时进行切割),也并没有发生DML慢语句,排除因为慢sql(DML操作)导致的问题,主库的DML操作如果出现慢语句,同步到从库会更慢,比如update,delete语句 3 查看从库的慢日志记录,是否出现DML慢语句

centos mysql 优化 第二十四节课

centos mysql  优化  第二十四节课 f

第四十四章

第四十四章1 听罗博士讲述名人的烦恼 名与身孰亲? 名气与身体哪个更重要? 名气固然是有用的,然而不能因此放弃身体. 各位朋友大家好,今天我们接着来聊<道德经>.我们来看看老子老先生带给我们什么样的人生启发了. 今天聊第四十四章,这是新的一章了,这一章实际跟我们的人生真是有很大的关系了,因为我这个音频,除了在我微信公众号刊出之外,还在喜马拉雅播出,喜马拉雅的编辑曾经跟我说:“罗老师您最近能不能讲讲养生的内容啊?”我接下来会给大家讲中医的内容的,但是您说我讲的<道德经>就不是养生吗?

NeHe OpenGL教程 第四十四课:3D光晕

转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线教程的编写,以及yarn的翻译整理表示感谢. NeHe OpenGL第四十四课:3D光晕 3D 光晕 当镜头对准太阳的时候就会出现这种效果,模拟它非常的简单,一点数学和纹理贴图就够了.好好看看吧. 大家好,欢迎来到新的一课,在这一课中我们将扩展glCamera类,来实现镜头光晕的效果.在日常生活中,

“全栈2019”Java第四十四章:继承

难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第四十四章:继承 下一章 "全栈2019"Java第四十五章:super关键字 学习小组 加入同步学习小组,共同交流与进步. 方式一:关注头条号Gorhaf,私信"Java学习小组". 方式二:关注公众号Gorhaf,回复"Java学习小组". 全栈工

QT开发(四十四)——流方法解析XML

QT开发(四十四)--流方法解析XML 一.流方法解析XML简介 QT 4.3开始,QT引入了两个新的类来读取和写入XML文档:QXmlStreamReader和QXmlStreamWriter. QXmlStreamReader类提供了一个快速的解析器通过一个简单的流API来读取良构的XML文档,是作为QT的SAX解析器的替代者出现的,比SAX解析器更快更方便.    QXmlStreamReader可以从QIODevice或QByteArray中读取数据.QXmlStreamReader以一