背景: 项目升级,引入MySQL数据库,之前一直用的是Oracle数据,在做用户登录单位维护的时候,需要返回该用户所属单位下的所有子单位。下边是模拟项目数据实践的过程。 数据准备: 准备一张单位表,里面存储下级单位以及上级单位的对应关系数据。 -- 创建单位表 CREATE TABLE UNITS ( ID INT PRIMARY KEY, NAME VARCHAR(255), PARENT_ID
数据查询 简单的查询语句 DISTINCT GROUP BY [HAVING 条件表达式] ORDER BY 集合函数 + GROUP BY WITH ROLLUP SELECT 字段名 FROM 表名 WHERE 条件表达式 GROUP BY 字段名 ORDER BY 字段名 ... IN & OR IN执行的速度要快于OR SELECT s_id, f_name, f_price FR
大家好,我是蓝胖子,前段时间mysql经常碰到慢查询报警,我们线上的慢sql阈值是1s,出现报警的表数据有 7000多万,经常出现报警的是一个group by的count查询,于是便开始着手优化这块,遂有此篇,记录下自己优化过程中的心得。 优化慢sql前,肯定是要懂sql的查询逻辑,所以我先介绍下group by 语句的执行逻辑。 group by 执行逻辑 环境准备 拿下面这张表举例,这是一张记