MySQL Ruler mysql 日常开发规范

这篇具有很好参考价值的文章主要介绍了MySQL Ruler mysql 日常开发规范。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

拓展阅读

MySQL View

MySQL truncate table 与 delete 清空表的区别和坑

MySQL Ruler mysql 日常开发规范

MySQL datetime timestamp 以及如何自动更新,如何实现范围查询

MySQL 06 mysql 如何实现类似 oracle 的 merge into

MySQL 05 MySQL入门教程(MySQL tutorial book)

MySQL 04- EMOJI 表情与 UTF8MB4 的故事

MySQL Expression 1 of ORDER BY clause is not in SELECT list,references column

MySQL Ruler

写在前面:

一、为何写

为了自己以后的脚本编写或者是为团队公司提供一个可以达成共识的标准。

二、怎么定规范

简洁明了。根据实际业务可以进行调整。每一个规定尽量描述清楚缘由。规范必须是不断变化的,量体裁衣。

三、参考

《架构师之路》中有提及一些数据库军规。可以提供参考。

四、使用

解读比规则本身更重要。

规范草案

基础规范

适用于所有。(database, table, column)

1、必须有中文解释

可以解释到任何一个程序员(包括黑客)看到注释后立刻理解其中的含义。而不是推敲其中的意思。为了保证这一点,衍生了第二条。

2、尽量使用英文,禁止中英文混用命名。

比如你看到了 zhrmghg 这个字段然后觉得很深奥,后来问命名者告诉你是中华人民共和国的简拼啊,你看不出来啊。。。

3、命名禁止出现大写字母, 禁止出现_以外的字符。

必须保证命名规则转换后可以符合比如驼峰命名。

4、禁止使用数字。使用英文单词替代。

举个例子 email_1, 那么请重命名为email_one。相信你可写出0-99的英文单词。避免,分不清l1, 分不清o0。

5、禁止使用双引号对名称引用, 避免大小写敏感。

如果需要单词间空格, 替换为下划线。

6、所有的命名尽量指出字段的业务含义。

如此之难,以至于想将这一条删除。

数据库规范

1、统一使用 UTF-8 编码

无需转码,无乱码风险。

2、数据库命名与系统名称保持一致。且必须满足基础规范。

比如项目名称blog-service, 对应数据库名称 blog_service

表规范

1、如果是 MySQL, 请使用 InnoDB 引擎

支持事务。其他不吹不黑。

2、必须有主键。

如BIGINT(20)自增的ID, 有利于表的管理。但是这个ID未必是你的唯一约束主键。

3、禁止使用外键。

所有的关联使用应用程序去保证。

4、表名称应统一使用t_开头。

可以与普通的类区分开。当然这一点不强求。(很多公司做不到)

列规范

1、禁止列名使用 col等毫无意义的作为前缀/后缀。

不要把名称浪费在无用的事情上。

2、主键命名统一为id, 当然你也可以使其不包含任何业务含义。

不多说。

3、表中一般会包含2个字段,创建时间和更新时间。请自行统一约定。

date 一般指日期, time 指时间。你可以约定为 created_timeupdated_time。保证所有的 表统一。不要乱改名字。

4、所有的字段都尽量设定为 NOT NULL

这一点根据业务而定。其实 null 不节约任何空间且会导致查询性能优化变得困难。

5、禁止使用 TEXT、BLOB 此类较大的字段

存放他的URL,对应的内容放在文件服务器中。

索引规范

1、单表索引不易过多。(5个以内为佳)

2、组合索引,区分度大的放在前面。

利于数据的快速过滤。

3、索引命名如下:

  • pk 主键 (primary key)

  • uk 唯一键 (unique key)

  • nk 普通索引 (normal key)

以上命名方式为前缀。你会说为什么不写英文全拼啊 ? 不现实,总会有人写错。

SQL 使用规范

1、禁止使用 SELECT *, 必须指定需要查询的字段。

2、禁止使用 INSERT INTO t_xxx VALUES (XXX), 必须明确指定插入的列属性

3、禁止全表扫描

可以看下 索引不工作的case, 实在无法避免可以和前端结合。比如查询必须指定某一区分度很大的字段才能查询。

4、尽量不使用 JOIN

这一点很多人难以接受。处于性能无可厚非的规则。但是如果性能要求没有这么高,资源又有限,可不必遵循。文章来源地址https://www.toymoban.com/news/detail-846709.html

到了这里,关于MySQL Ruler mysql 日常开发规范的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MySQL编码规范

    1.【强制】禁止在数据库中存储明文密码,需把密码加密后存储 说明:对于加密操作建议由公司的中间件团队基于如mybatis的扩展,提供统一的加密算法及密钥管理,避免每个业务线单独开发一套,同时也与具体的业务进行了解耦 2.【强制】禁止在数据库中明文存储用户敏感信

    2024年02月10日
    浏览(33)
  • Mysql推荐使用规范

    一:基础规范 1、使用InnoDB存储引擎 支持事务、行级锁、并发性能更好、CPU及内存缓存页优化使得资源利用率更高 2、推荐使用utf8mb4字符集 无需转码,无乱码风险, 支持emoji表情以及部分不常见汉字 3、表、字段必须加注释 方便他人理解字段意思。 4、不在数据库做计算 禁止使

    2024年02月14日
    浏览(27)
  • 阿里 MySQL 规范

    【推荐】库名与应用/服务名称尽量一致。 【强制】表名不使用复数名词。 说明:表名应该仅仅表示表里面的实体内容,不应该表示实体数量,对应于DO类名也是单数形式,符合表达习惯。 【推荐】表的命名最好是业务名词加上表的作用,比如\\\"业务名称_表的作用\\\" 正例:ti

    2024年02月11日
    浏览(47)
  • MySQL高性能优化规范建议

    数据库命令规范 数据库基本设计规范 1. 所有表必须使用 Innodb 存储引擎 2. 数据库和表的字符集统一使用 UTF8 3. 所有表和字段都需要添加注释 4. 尽量控制单表数据量的大小,建议控制在 500 万以内。 5. 谨慎使用 MySQL 分区表 6.尽量做到冷热数据分离,减小表的宽度 7. 禁止在表中建

    2024年02月12日
    浏览(52)
  • MySQL 使用规范 —— 如何建好字段和索引

    一、案例背景 二、库表规范 1. 建表相关规范 2. 字段相关规范 3. 索引相关规范 4. 使用相关规范 三、建表语句 三、语句操作 1. 插入操作 2. 查询操作 四、其他配置 1. 监控活动和性能: 2. 连接数查询和配置 本文的宗旨在于通过简单干净实践的方式教会读者,如何更好地使用

    2024年02月09日
    浏览(35)
  • 数据库——MySQL高性能优化规范

    所有数据库对象名称必须使用小写字母并用下划线分割 所有数据库对象名称禁止使用 MySQL 保留(如果表名中包含查询时,需要将其用单引号括起来) 数据库对象的命名要能做到见名识意,并且最后不要超过 32 个字符 临时库表必须以 tmp_为前缀并以日期为后缀,

    2024年02月11日
    浏览(103)
  • JAVA编码规范:安全规约、mysql数据库_java后端的sql编码规范

    7、【强制】如果存储的字符串长度几乎相等,使用 char定长字符串类型 8、【强制】varchar是可变长字符串,不预先分配存储空间,长度不要超过 5000,如果存储长度大于此值,定义字段类型为 text,独立出来一张 表,用主键来对应,避免影响其它字段索引效率。 9、【强制】表

    2024年04月10日
    浏览(53)
  • 【MySQL高级篇笔记-数据库的设计规范(中) 】

    此笔记为尚硅谷MySQL高级篇部分内容 目录 一、为什么要数据库设计  二、范式 1、范式简介 2、范式都包括哪些  3、键和相关属性的概念 4、第一范式(1st NF) 5、第二范式(2nd NF) 6、第三范式(3rd NF) 7、小结 三、反范式化 1、概述 2、 应用举例 3、反范式的新问题 4、反范式的适用

    2024年02月08日
    浏览(68)
  • 【MySQL索引与优化篇】数据库的设计规范

    在关系型数据库中,关于数据表设计的基本原则、规则就称为范式 。范式的英文名称是 Normal Form ,简称 NF 。它是英国人 E.F.Codd 在上个世纪70年代提出关系数据库模型后总结出来的。范式是关系数据库理论的基础,也是我们在设计数据库结构过程中所要遵循的 规则 和 指导方

    2024年02月05日
    浏览(76)
  • 从小白到大神之路之学习运维第37天---第三阶段---mysql数据库之拓展知识

    拓展知识 目录 一、MySQL数据库目录结构以及存放位置 二、MySQL Enterprise Backup 三、MySQL读写分离器 四、进程和线程 五、CentOS 7 中配置静态 IP     1. 数据库存储目录: MySQL数据库的数据文件存储在指定的数据目录下。MySQL安装时默认数据目录在Linux系统中为/var/lib/mysql,Windows系

    2024年02月08日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包