MySQL

本文介绍了阿里巴巴在数据库开发中的规范与建议。首先强调不允许使用视图和存储过程,原因在于视图可能引发慢查询,影响问题定位,数据库职责应由上层应用承担。对于统计函数,详细解析了count(1)、count(*)和count(列名)的差异:count(*)统计所有行,包括空值,执行效率在不同场景下有所不同;count(1)也统计所有行,不忽略空值;而count(列名)只统计特定列非空值,且在主键列上执行速度较快。文章提醒在查询时注意区分NULL和等于NULL的写法,使用is null。关于建表规范,建议必须包含主键、创建时间、更新时间和状态字段,布尔类型避免使用is前缀以防序列化错误。查询执行顺序推荐为:from、join、on、where、group by、select、count、sum、having、distinct、order by和limit。还介绍了开启慢查询日志的方法,包括通过MySQL参数设置和修改配置文件。最后讲述了数据库全量备份的方法和创建只读权限用户的步骤,确保数据安全和权限控制。——由米芾AI生成,内容仅供参考!


SpringBoot参数校验合集

本文是关于Spring Boot参数校验的全面指南。文章首先强调了后端参数校验对API接口安全与数据完整性的重要性,并介绍了基于Java Bean Validation规范(及其主流实现Hibernate Validator)的校验方法。核心内容围绕Spring Validation展开,通过`@Validated`和`@Valid`等注解,在Controller和Service层实现声明式校验。此外,文章还深入讲解了全局异常处理以返回友好提示、创建自定义校验注解、分组校验以及国际化(i18n)支持等高级应用,为构建可靠的API提供了完整的实践方案。 由米芾AI生成,内容仅供参考!


MySQL数据库笔记

MySQL 数据库笔记 第一部分 MySQL基础篇 第01章 数据库概述 1. 为什么要使用数据库 持久化(persistence):把数据保存到可掉电式存储设备中以供之后使用。大多数情况下,特别是企业级应用,<