我的编程空间,编程开发者的网络收藏夹
学习永远不晚

阿里11条mysql规范

短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

阿里11条mysql规范

阿里11条mysql规范

阿里开发强制要求的11条SQL编写规范

【强制】不要使用count(列名)或count(常量)来替代count(*),count(*)是SQL92定义的标准统计行数的语法,跟数据库无关,跟NULL和非NULL无关。

         说明:count(*)会统计值为NULL的行,而count(列名)不会统计此列为NULL值的行。

 2.【强制】count(distinct col) 计算该列除NULL之外的不重复行数,注意 count(distinct col1, col2) 如果其中一列全为NULL,            那么即使另一列有不同的值,也返回为0。

 3.【强制】当某一列的值全是NULL时,count(col)的返回结果为0,但sum(col)的返回结果为NULL,因此使用sum()时需注意           NPE问题。

         正例:可以使用如下方式来避免sum的NPE问题:SELECT IF(ISNULL(SUM(g)),0,SUM(g)) FROM table;

 4.【强制】使用ISNULL()来判断是否为NULL值。

             说明:NULL与任何值的直接比较都为NULL。

             1) NULL<>NULL的返回结果是NULL,而不是false。

             2) NULL=NULL的返回结果是NULL,而不是true。

             3) NULL<>1的返回结果是NULL,而不是true。

 5.【强制】 在代码中写分页查询逻辑时,若count为0应直接返回,避免执行后面的分页语句。

 6【强制】不得使用外键与级联,一切外键概念必须在应用层解决。

    说明:以学生和成绩的关系为例,学生表中的student_id是主键,那么成绩表中的student_id则为外键。如果更新学生表中的          student_id,同时触发成绩表中的student_id更新,即为级联更新。外键与级联更新适用于单机低并发,不适合分布式、高并        发集群;级联更新是强阻塞,存在数据库更新风暴的风险;外键影响数据库的插入速度。

【强制】禁止使用存储过程,存储过程难以调试和扩展,更没有移植性。

【强制】数据订正(特别是删除、修改记录操作)时,要先select,避免出现误删除,确认无误才能执行更新语句。

【推荐】in操作能避免则避免,若实在避免不了,需要仔细评估in后边的集合元素数量,控制在1000个之内。

【参考】如果有国际化需要,所有的字符存储与表示,均以utf-8编码,注意字符统计函数的区别。

说明: SELECT LENGTH("轻松工作"); 返回为12

SELECT CHARACTER_LENGTH("轻松工作"); 返回为4

如果需要存储表情,那么选择utf8mb4来进行存储,注意它与utf-8编码的区别。

【参考】 TRUNCATE TABLE 比 DELETE 速度快,且使用的系统和事务日志资源少,但TRUNCATE无事务且不触发trigger,有可能造成事故,故不建议在开发代码中使用此语句。 说明:TRUNCATE TABLE 在功能上与不带 WHERE 子句的 DELETE 语句相同。

 

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

阿里11条mysql规范

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

阿里11条mysql规范

阿里开发强制要求的11条SQL编写规范 1.【强制】不要使用count(列名)或count(常量)来替代count(*),count(*)是SQL92定义的标准统计行数的语法,跟数据库无关,跟NULL和非NULL无关。          说明:coun
阿里11条mysql规范
2018-04-09

阿里mysql规范

(二)索引规约 1.【强制】业务上具有唯一特性的字段,即使是组合字段,也必须建成唯一索引。  说明:不要以为唯一索引影响了 insert速度,这个速度损耗可以忽略,但提高查找速度是明显的;另外,即使在应用层做了非常完善的校验和控制,只要没有唯一索引,根据墨
阿里mysql规范
2020-02-10

阿里:MySQL数据库规范

阿里:MySQL数据库规范简介:基于阿里数据库设计规范扩展而来 设计规范1.【推荐】字段允许适当冗余,以提高查询性能,但必须考虑数据一致。冗余字段应遵循:不是频繁修改的字段。不是 varchar 超长字段,更不能是 text 字段。正例:商品类目名称使用频率高
阿里:MySQL数据库规范
2021-01-23

阿里云服务器运维规范

标题:阿里云服务器运维规范:如何确保服务器稳定运行随着云计算的快速发展,阿里云服务器已经成为了许多企业和个人的首选。为了确保服务器的稳定运行,我们需要遵循一些运维规范。本篇文章将详细介绍阿里云服务器运维规范,并给出一些实用的建议。正文:阿里云服务器运维规范是保证服务器稳定运行的基础。以下是一些关键的运维规范:1.
阿里云服务器运维规范
2023-10-31

阿里云代理商管理规范

1.代理商资质要求作为阿里云的代理商,需要满足以下资质要求:具备合法的企业法人身份,拥有独立的法人资格。具备良好的商业信誉和声誉,无不良经营记录。具备一定的技术实力和服务能力,能够提供专业的技术支持和售后服务。具备一定的市场拓展能力,能够积极推广和销售阿里云产品和服务。2.代理商合作协议代理商与阿里云之间需要签订代理商合作协议,明确双方的权利和义务。合作协议中应包括以下内容:代理商的权益和责任,包括代...
2023-10-27

阿里云官方Redis开发规范总结

本文主要介绍了阿里云官方Redis开发规范总结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
2022-11-13

阿里前端开发中的规范要求

web前端开发中,适当的规范和标准绝不是消灭代码内容的创造性、优雅性,而是限制过度个性化,以一种普遍认可的统一方式,提升协作效率,降低沟通成本。规范的目的是为了编写高质量的代码。
2022-12-29

sonarqube配置全指南,集成阿里巴巴p3c规范

环境准备 内置数据库Sonar安装成功后,默认内置H2数据库,用于记录单次的扫描结果,对同一个project重复扫码,会覆盖之前的扫描记录,所以H2 数据库只应用于测试,不可以用于生产环境,那如果你是想玩玩,不想长期扫描你的项目,可以不必配置数据库自定义数据库
sonarqube配置全指南,集成阿里巴巴p3c规范
2015-03-19

阿里规范不建议多表Join,可这SQL要怎么写?

阿里开发手册的描述,禁止多表join:手册上写着【强制】,相信很多同学项目里面的代码都不满足这个要求。但是关键问题是:不用join,这SQL究竟要怎么写?!分解关联查询即对每个要关联的表进行单表查询,然后将结果在应用程序中进行关联。下面的这个查询:SELECT
阿里规范不建议多表Join,可这SQL要怎么写?
2019-04-10

阿里云服务器备案范围详解备案规则与注意事项

随着互联网的发展,越来越多的企业和个人选择使用云服务器来部署网站和应用程序。然而,使用阿里云服务器时,用户需要进行备案,以确保服务器的合法性。本文将详细介绍阿里云服务器的备案范围,以及备案规则和注意事项。一、阿里云服务器的备案范围阿里云服务器的备案范围主要包括网站、论坛、博客、邮件系统、在线商城、在线教育、在线办
阿里云服务器备案范围详解备案规则与注意事项
2023-11-20

阿里数据库开发规范:谁还敢说你的数据库设计的“烂”

数据库设计几个规范: 数据库命名规范、数据库基本设计规范、数据库索引设计规范、数据库字段设计规范、数据库SQL开发规范、数据库操作行为规范 数据库命名规范 1、所有数据库对象名称必须使用小写字母并用下划线分割 不同的数据库名 DbName dbname 不同的
阿里数据库开发规范:谁还敢说你的数据库设计的“烂”
2016-08-20

阿里云数据库设计规范2020一套实现企业级数据库管理的关键指南

本文将详细介绍阿里云数据库设计规范2020,包括其主要内容、目标以及适用范围。我们将深入解析每个模块的设计原则,并提供实用的案例和最佳实践,以帮助企业级用户实现高效、安全、可扩展的数据库管理系统。阿里云数据库设计规范2020是阿里云为企业级用户提供的一套数据库设计标准和最佳实践。这套规范旨在帮助用户创建稳定、高性
阿里云数据库设计规范2020一套实现企业级数据库管理的关键指南
2024-01-25

编程热搜

目录