MySql 使用规范推荐】的更多相关文章

前言 废话不多说-- 一.基础规范 1.使用InnoDB存储引擎 支持事务.行级锁.并发性能更好.CPU及内存缓存页优化使得资源利用率更高 2.推荐使用utf8mb4字符集 无需转码,无乱码风险, 支持emoji表情以及部分不常见汉字 3.表.字段必须加注释 除了建表的人,谁还会知道这个字段是什么意思. 4.不在数据库做计算 禁止使用存储过程.视图.触发器.Event 并发量大的情况下,这些功能很可能将数据库拖跨,业务逻辑放到服务层具备更好的扩展性,能够轻易实现"增机器就加性能" 5.…
在java应用开发中深知数据库的重要性,绝大多数情况下数据库的性能决定了程序的性能,前期如果埋下的坑越多到后期会成为整个程序的瓶颈,所以希望java开发者一定要重视!!!! 一.基础规范 1.使用InnoDB存储引擎 支持事务.行级锁.并发性能更好.CPU及内存缓存页优化使得资源利用率更高 2.推荐使用utf8mb4字符集 无需转码,无乱码风险, 支持emoji表情以及部分不常见汉字 3.表.字段必须加注释 除了建表的人,谁还会知道这个字段是什么意思. 4.不在数据库做计算 禁止使用存储过程.视…
前言 这篇是MySQL 数据库规范的最后一篇--调优篇,旨在提供我们发现系统性能变弱.MySQL系统参数调优,SQL脚本出现问题的精准定位与调优方法. 目录 1.MySQL 调优金字塔理论 2.MySQL 慢查询分析--mysqldumpslow.pt_query_digest工具的使用(SQL脚本层面) 3.选择合适的数据类型 4.去除无用的索引--pt_duplicate_key_checker工具的使用(索引层面) 5.反范式化设计(表结构) 6.垂直水平分表 7.MySQL 重要参数调优…
Mysql数据库规范 一.基础规范 [强制]使用InnoDB存储引擎解读:InnoDB存储引擎是MySQL默认存储引擎,支持事务和行级锁,并发性能更好,CPU及内存缓存页优化使得资源利用率更高[强制]使用utf8字符集,如果有字段需要存储emoji表情之类的,则需要将字段或表设置成utf8mb4解读:万国码,无需转码,无乱码风险,节省空间,utf8mb4向下兼容utf8(小心索引失效问题)[强制]数据表.数据字段必须加入中文注释解读:便于识别表和字段的用途[强制]禁止使用存储过程.视图.触发器.…
为了项目的稳定,代码的高效,管理的便捷,在开发团队内部会制定各种各样的规范 这里分享一份我们定义的MySQL开发规范,欢迎交流拍砖 数据库对象命名规范 数据库对象 命名规范的对象是指数据库SCHEMA.表TABLE.索引INDEX.约束CONSTRAINTS等的命名约定 数据库对象命名原则 命名使用具有意义的英文词汇,词汇中间以下划线分隔 命名只能使用英文字母.数字.下划线 避免用MySQL的保留字如:call.group等 所有数据库对象使用小写字母 数据库命名规范 数据库名不能超过30个字符…
目录 mysql 数据库 规范 基础规范 命名规范 表设计规范 字段设计规范 索引设计规范 SQL编写规范 行为规范 mysql 数据库 规范 基础规范 必须使用InnoDB存储引擎 解读:支持事务.行级锁.并发性能更好.CPU及内存缓存页优化使得资源利用率更高 新库使用utf8mb4字符集 解读:万国码,无需转码,无乱码风险,节省空间 数据表.数据字段必须加入中文注释 解读:N年后谁tm知道这个r1,r2,r3字段是干嘛的 禁止使用存储过程.视图.触发器.Event 解读:高并发大数据的互联网…
阿里:MySQL数据库规范 简介:基于阿里数据库设计规范扩展而来 设计规范 1.[推荐]字段允许适当冗余,以提高查询性能,但必须考虑数据一致.冗余字段应遵循: 不是频繁修改的字段. 不是 varchar 超长字段,更不能是 text 字段. 正例:商品类目名称使用频率高,字段长度短,名称基本一成不变,可在相关联的表中冗余存 储类目名称,避免关联查询. 2.[推荐]单表行数超过 500 万行或者单表容量超过 2GB,才推荐进行分库分表. 说明:如果预计2年后的数据量根本达不到这个级别,请不要在创建…
原文: http://weibo.com/p/2304181380b3f180102vsg5 根据多年经验整理的<互联网MySQL开发规范> 写在前面:无规矩不成方圆.对于刚加入互联网的朋友们,肯定会接触到MySQL,MySQL作为互联网最流行的关系型数据库产品,它有它擅长的地方,也有它不足的短板,针对它的特性,结合互联网大多应用的特点,笔者根据自己多年互联网公司的MySQLDBA经验,现总结出互联网MySQL的一些开发规范,仅供参考. 一.基础规范 (1) 使用INNODB存储引擎 (2) …
原文: http://imysql.com/2015/07/23/something-important-about-mysql-design-reference.shtml 老叶观点:MySQL开发规范之我见 叶金荣 2015/07/23 0 大多数MySQL规范在网上也都能找得到相关的分享,在这里要分享的是老叶个人认为比较重要的,或者容易被忽视的,以及容易被混淆的一些地方. 1.默认使用InnoDB引擎[老叶观点]已多次呼吁过了,InnoDB适用于几乎99%的MySQL应用场景,而且在MyS…
Java规范推荐 推荐:http://blog.csdn.net/tristansmile/article/details/7989670 命名规范 项目名:全部小写 Package 的命名:应该都是由一个小写单词组成 Class 的命名:首字母大写的驼峰式命名,即FirstName 变量和方法的命名:首字母小写的驼峰式命名,即firstName 当要区别接口类和实现类的时候,可以在类的后面加上"Impl". 如:接口类:UserInterface.java 接口实现类:UserInt…
前言 无论是开源项目还是内部项目,使用Git都是大势所趋,尤其是在产品管理这块,使用Git大大提高了开发效率和产品的交付频率.本篇,针对Git的工作流和分支使用,进行了一些推荐. 目录 1     产品管理开发之Git工作流和分支规范推荐 1.1      Git工作流模型推荐 1.2      Git产品开发分支规范要求 1.2.1      永久分支 1.2.1.1  master(稳定版) 1.2.1.2   开发版(develop) 1.2.2      临时性分支 1.2.2.1  …
Atitit 我们的devops战略与规划 规范 推荐标准 1. Vm容器化1 2. 热部署tomcat+jrebel 或者resin1 3. 增量更新与差异更新1 4. 补丁提取与应用2 为了方便提升部署友好性,所以搞了个devops 1. Vm容器化 Java项目,和jdk,web server整合到一个文件夹下,使用相对路径..作为一个容器可以整体发布. 2. 热部署tomcat+jrebel 或者resin 3. 增量更新与差异更新 部署项目的时候,初次可以打个war(其实就是zip包)…
版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/n88Lpo/article/details/78099185 作者:唐勇.深圳市环球易购.MySQL DBA.个人爱好:看书.跑步.看电影.旅行.倒腾文字.NBA 导读 MySQL是时下热度仅次于Oracle的关系型数据库,由于便捷高效的特点风靡整个DB行业.而创业呢.政策层面的"双创"让多少热血青年跳进了创业这个"火坑",从去年的内容创业到共享经济.从罗辑思维.吴晓…
前言:在mysql中设计表的时候,mysql官方推荐不要使用uuid或者不连续不重复的雪花id(long形且唯一),而是推荐连续自增的主键id,官方的推荐是auto_increment,那么为什么不建议采用uuid,使用uuid究竟有什么坏处?本篇博客我们就来分析这个问题,探讨一下内部的原因. 本篇博客的目录 一:mysql程序实例 二:使用uuid和自增id的索引结构对比 三:总结 一:mysql和程序实例 1.1:要说明这个问题,我们首先来建立三张表,分别是user_auto_key,use…
一.基础规范 使用InnoDB存储引擎支持事务.行级锁.并发性能更好.CPU及内存缓存页优化使得资源利用率更高 推荐使用utf8mb4字符集无需转码,无乱码风险, 支持emoji表情以及部分不常见汉字 表.字段必须加注释方便他人理解字段意思,在后期维护中非常非常有用,不用去瞎猜这个字段是干嘛的. 不在数据库做计算禁止使用存储过程.视图.触发器.Event.在并发量大的情况下,这些功能很可能将数据库拖跨,业务逻辑放到服务层具备更好的扩展性,能够轻易实现"增机器就加性能" 禁止存储文件文件…
上篇文章介绍了如何创建合适的MySQL索引,今天再一块学一下如何更规范.更合理的使用MySQL? 合理规范的使用MySQL,可以大大减少开发工作量和线上问题,并提升SQL查询性能. 我精心总结了这16条MySQL规约,分享给大家,欢迎评论指正. 1. 禁止使用select * 阿里开发规范中,有这么一句话: **select *** 会查询表中所有字段,如果表中的字段有更改,必须修改SQL语句,不然就会执行错误. 查询出非必要的字段,徒增磁盘IO和网络延迟. 2. 用小表驱动大表 关联查询的时候…
规范 库名.表名.字段名必须使用小写字母, 并采用下划线分割, 禁止超过32个字符(整齐.易读) 临时库.表名须以tmp加日期为后缀; 使用Innodb存储引擎.[好处: 支持事务和行级锁] 字符集统一使用UTF8mb4[most bytes 4<支持Emoji和全部中文]; 表,字段增加注释,方便后期维护,枚举型标明说明文字. 控制单表字段数量,建议冷热数据分离,大字段分离,提升IO性能; 统一常用字段的含义与使用,比如很多表都会出现创建时间.更新时间.删除时间.软删除字段.状态等等,团队内约…
一. 表设计 库名.表名.字段名必须使用小写字母,“_”分割. 库名.表名.字段名必须不超过12个字符. 库名.表名.字段名见名知意,建议使用名词而不是动词. 表必须使用InnoDB存储引擎. 表必须使用“t_”开头命名. 表字符集选择UTF8. 存储精确浮点数必须使用DECIMAL替代FLOAT和DOUBLE.金额建议使用BIGINT. 建议使用UNSIGNED存储非负数值. 建议使用INT UNSIGNED存储IPV4. 整形定义中不添加长度,比如使用INT,而不是INT(4). 使用短数据…
一. 表设计 库名.表名.字段名必须使用小写字母,“_”分割. 库名.表名.字段名必须不超过12个字符. 库名.表名.字段名见名知意,建议使用名词而不是动词. 建议使用InnoDB存储引擎. 存储精确浮点数必须使用DECIMAL替代FLOAT和DOUBLE. 建议使用UNSIGNED存储非负数值. 建议使用INT UNSIGNED存储IPV4. 整形定义中不添加长度,比如使用INT,而不是INT(4). 使用短数据类型,比如取值范围为0-80时,使用TINYINT UNSIGNED. 不建议使用…
命名规范 1.库名.表名.字段名必须使用小写字母,并采用下划线分割. a)MySQL有配置参数lower_case_table_names,不可动态更改,Linux系统默认为 0,即库表名以实际情况存储,大小写敏感.如果是1,以小写存储,大小写不敏感.如果是2,以实际情况存储,但以小写比较. b)如果大小写混合使用,可能存在abc,Abc,ABC等多个表共存,容易导致混乱. c)字段名显示区分大小写,但实际使⽤用不区分,即不可以建立两个名字一样但大小写不一样的字段. d)为了统一规范, 库名.表…
一.基础规范 表存储引擎必须使用InnoDB 表字符集默认使用utf8,必要时候使用utf8mb4 解读: (1)通用,无乱码风险,汉字3字节,英文1字节 (2)utf8mb4是utf8的超集,有存储4字节例如表情符号时,使用它 禁止使用存储过程,视图,触发器,Event 解读: (1)对数据库性能影响较大,互联网业务,能让站点层和服务层干的事情,不要交到数据库层 (2)调试,排错,迁移都比较困难,扩展性较差 禁止在数据库中存储大文件,例如照片,可以将大文件存储在对象存储系统,数据库中存储路径…
作者:听风 https://www.cnblogs.com/huchong/p/10219318.html 一.数据库命令规范 1.所有数据库对象名称必须使用小写字母并用下划线分割 2.所有数据库对象名称禁止使用mysql保留关键字(如果表名中包含关键字查询时,需要将其用单引号括起来) 3.数据库对象的命名要能做到见名识意,并且最后不要超过32个字符 4.临时库表必须以tmp_为前缀并以日期为后缀,备份表必须以bak_为前缀并以日期(时间戳)为后缀 5.所有存储相同数据的列名和列类型必须一致(一…
MySQL数据库使用规范一.建表规约1.[强制]表达是与否概念的字段,必须使用is_xxx的方式命名,数据类型是unsigned tinyint (1表示是,0表示否) 说明:任何字段如果为非负数,必须是unsigned 正例:表达逻辑删除的字段名is_deleted,,1表示删除,0表示未删除2.[强制]表名.字段名必须使用小写字母或数字,禁止出现数字开头,禁止两个下划线中间出现数字.数据库字段名的修改代价很大,因为无法进行预发布,所以字段名称需要慎重考虑. 正例:getter_admin,t…
I 文档定义 1.1 编写目的 为了在软件生命周期内规范数据库相关的需求分析.设计.开发.测试.运维工作,便于不同团队之间的沟通协调,以及在相关规范上达成共识,提升相关环节的工作效率和系统的可维护性.同时好的规范,在执行的时候可以培养出好的习惯,好的习惯是软件质量的保证. 1.2  适用范围 本文档适用于开发.测试.QA及运维团队成员. II . 命名设计规范 2.1 总则 (1)所有命名采用26个英文小写字母和0-9这十个自然数,加上下划线_组成.不能出现其他字符(注释除外). (2)对象名尽…
在互联网公司中,MySQL是使用最多的数据库,那么在并发量大.数据量大的互联网业务中,如果高效的使用MySQL才能保证服务的稳定呢?根据本人多年运维管理经验的总结,梳理了一些核心的开发规范,希望能给大家带来一些帮助.   一.基础规范 数据库字符集默认使用utf8mb4,兼容utf8,并支持存储emoji表情等四字节内容 禁止在线上生产环境做数据库压力测试 禁止从测试.开发环境.本机直连线上生产数据库 禁止在数据库中存储明文密码 禁止在数据库中存储图片.文件等大数据 禁止将业务日志实时保存到数据…
字段设计 (1)建议使用UNSIGNED存储非负数值. (2)建议使用INT UNSIGNED存储IPV4. (4)INT类型固定占用4字节存储,例如INT(4)仅代表显示字符宽度为4位,不代表存储长度. (5)区分使用TINYINT.SMALLINT.MEDIUMINT.INT.BIGINT数据类型. (6)强烈建议使用TINYINT来代替ENUM类型. (7)尽可能不使用TEXT.BLOB类型,如果要用尽量拆出去,再用主键关联. (8)禁止在数据库中存储明文密码. (9)使用VARBINAR…
一.    表设计类 强制类规范 1. 创建表的存储引擎必须是InnoDB. 2. 每个表必须显式的指定一个主键. 3. 不允许使用联合主键. 4. 不允许使用外键. 5. 不允许存在和主键重复的索引. 6. 自增长字段必须是主键或唯一索引. 7. 不允许在数据库中存储诸如图片,影像之类的二进制数据. 8. 不允许使用TEXT类型字段 9. 建表时不允许显式的指定除了utf8之外的其他字符集. 10. 对于所有声明为NOT NULL的字段,必须显式指定默认值. 11. 必须包含时间戳字段Data…
PhpMyAdmin 傻瓜级的 Web 页面管理器,无需到处安装,只需一台支持 PHP 运行环境的服务器 功能上一般只限数据表的增删改查 在一台安装了phpmyadmin的机器上是可以连其它服务器上的数据库的 $cfg['Servers'][$i]['host'] = 'localhost'; $cfg['Servers'][$i]['host'] = '10.50.8.120'; MySQL Workbench 官方推出,多平台版本 功能强大,支持很多 GUI Tools 没有的功能,比如 C…
一.基础规范 使用 INNODB 存储引擎 表字符集使用 UTF8  所有表都需要添加注释 单表数据量建议控制在 5000W 以内 不在数据库中存储图⽚.文件等大数据 禁止在线上做数据库压力测试 禁⽌从测试.开发环境直连数据库 二.命名规范 库名表名字段名必须有固定的命名长度,12个字符以内 库名.表名.字段名禁⽌止超过32个字符.须见名之意 库名.表名.字段名禁⽌止使⽤用MySQL保留字 临时库.表名必须以tmp为前缀,并以⽇日期为后缀 备份库.表必须以bak为前缀,并以日期为后缀 三.库.表…
来源:http://ourmysql.com/archives/1396 大多数MySQL规范在网上也都能找得到相关的分享,在这里要分享的是老叶个人认为比较重要的,或者容易被忽视的,以及容易被混淆的一些地方. 1.默认使用InnoDB引擎 [老叶观点]已多次呼吁过了,InnoDB适用于几乎99%的MySQL应用场景,而且在MySQL 5.7的系统表都改成InnoDB了,还有什么理由再死守MyISAM呢. 此外,频繁读写的InnoDB表,一定要使用具有自增/顺序特征的整型作为显式主键. [参考]:…