前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >重温Mysql

重温Mysql

作者头像
用户10521079
发布2023-05-04 19:00:03
1430
发布2023-05-04 19:00:03
举报
文章被收录于专栏:Smile博客Smile博客

1. 常见的几个聚合函数

1.1 Avg / Sum

平均值 / 求和 (不适用于字符串)

代码语言:javascript
复制
select avg(salary),sum(salary),avg(salary)*107
from employess
1.2 Max / Min

最大 / 最小 (字符串中按 a最小 z最大)

代码语言:javascript
复制
select max(salary),min(salary)
from employess
1.3 Count

(1). 计算指定字段再查询你结构中出现的个数(不包含null)

(2). 公式 avg = sum / count

1.4 group by
结论1: select中出现的非组函数的字段必须声明在group by中。反之group by中声明的字段可以不出现在select中
结论2: GROUP BY声明在FROM后面、WHERE后面,ORDER BY前面、LIMIT前面
1.5 having

推荐方式一

2. Sql 99语法

语法

顺序

3. 自连接,子查询

3.1 重要! 也称嵌套查询

自连接

单行子查询

3.2 子查询的分类
  • 角度1:从内查询返回的结果的条目数

单行子查询 vs 多行子查询

  • 角度2:内查询是否内执行多次

相关子查询 vs 不相关子查询

  • 比如:相关子查询的需求:

查询工资大于本部门平均工资的 员工信息


4.索引

4.1 索引的分类

在innodb存储引擎中,根据索引的储存形式,可以分为两种

4.2聚集索引

主键默认是聚集索引,且叶节点下面挂载这一行的数据,只会有一个

4.3二级索引

叶节点下面挂载的是这行数据的id值

4.4 索引储存图
4.5 索引执行过程

这个sql语句执行后先用二级索引,然后拿到id回表做聚合查询

4.5查询数据库执行频率
代码语言:javascript
复制
show GLOBAL status LIKE 'com_______';
4.6 开启慢查询日志
代码语言:javascript
复制
#开启慢查询日志
slow_query_log=1
long_query_time=2
#查询是否开启
SHOW variables like '%slow_query_log%';
4.7 开启profiling文件 记录所以sql的执行情况
代码语言:javascript
复制
#查看profiling是否开启
select @@profiling;
#设置profiling开启
set profiling = 1;

常用命令

sql语句增加explain后是id大的先执行,小的后执行,一样的 靠上面的先执行

5索引失效情况

5.1 最左前缀法则

联合索引需要用从最开始的顺序进行实现 where后方的位置可以不一样,但是索引字段必须存在

5.2 范围查询法则

范围查询字段右侧的列索引会失效,尽量使用>=可以避免

5.3 字段运算法则

尽量不要对字段进行函数运算,会导致索引失效

5.4 字符串不加单引号索引失效
5.5 模糊查询法则
5.6 or连接法则

两边字段都有索引,索引才会生效

5.7 如果索引不如全表扫码快 MySQL会走全表扫描
5.8加入sql提示
5.9 覆盖索引
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-04-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 常见的几个聚合函数
  • 2. Sql 99语法
  • 3. 自连接,子查询
  • 4.索引
  • 5索引失效情况
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档