首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
神让我捡漏
门头沟学院 测试开发
发布于广东
关注
已关注
取消关注
m
@Java抽象带篮子:
Mysql调优攻略大全(建议收藏)
0.前言 建议与我的八股专栏的jvm八股配合使用。觉得本贴有用的收藏点个赞评论下送朵花什么的吧。下面我会让你看看什么是传说中的mysql调优(八股面试吹b版)。 打个小广告 我的架构设计专栏:https://www.nowcoder.com/creation/manager/columnDetail/0ybvLm 我的八股专栏:https://www.nowcoder.com/creation/manager/columnDetail/j8ZZk0 内有详细苍穹外卖话术哦! 为什么我要开个八股专栏? 一方面有感于现在面试找工作对八股的要求之高,一方面有感于市面上的一些八股资料又乱又复杂难懂,所以我决定自己结合各种市面上优秀的博客、gpt,牛客上的面经和我自己的理解,整合出一份八股资料,我的目标是:让八股文成为真正简单易懂的八股,知识点丰富且浅显易懂,不追求过分的深入,但一定重点层次分明(如果想深入了解知识点的话还是建议自己认真看看javaguide和小林coding,但其实我就是看了他们的全部博客取精华精炼部分融入我的专栏。。。),一句话就是我的八股专栏主打一个面试速成,一点超纲的知识点都不会有,因为我自己也用这份笔记准备秋招。。。 1.怎么定位慢查询? 2种方法·: 运维监控工具Slywalking 我们当时做压测的时候有的接口非常的慢,接口的响应时间超过了2秒以上,因为我们当时的系统部署了运维的监控系统Skywalking ,在展示的报表中可以看到是哪一个接口比较慢,并且可以分析这个接口哪部分比较慢,这里可以看到SQL的具体的执行时间,所以可以定位是哪个sql出了问题 mysql慢查询日志 2.怎么分析慢sql? 通过EXPLAIN分析SQL执行计划 ALL:表示全表扫描,需要遍历全表来找到对应的行。 possible_keys:可能使用到的索引。 key:实际使用到的索引。 key_len:当前使用的索引的长度。 ref:关联id等信息。 rows:查找到记录所扫描的行数。 filtered:查找到所需记录占总扫描记录数的比例。 Extra:额外的信息。 通过Show Profile分析SQL执行性能 上述通过 EXPLAIN 分析执行计划,仅仅是停留在分析SQL的外部的执行情况,如果我们想要深入到MySQL内核中,从执行线程的状态和时间来分析的话,这个时候我们就可以选择Profile。 Profile除了可以分析执行线程的状态和时间,还支持进一步选择ALL、CPU、MEMORY、BLOCK IO、CONTEXT SWITCHES等类型来查询SQL语句在不同系统资源上所消耗的时间。以下是相关命令的注释: SHOW PROFILE [type [, type] ... ][FOR QUERY n][LIMIT row_count [OFFSET offset]]type参数:| ALL:显示所有开销信息| BLOCK IO:阻塞的输入输出次数| CONTEXT SWITCHES:上下文切换相关开销信息| CPU:显示CPU的相关开销信息 | IPC:接收和发送消息的相关开销信息| MEMORY :显示内存相关的开销,目前无用| PAGE FAULTS :显示页面错误相关开销信息| SOURCE :列出相应操作对应的函数名及其在源码中的调用位置(行数) | SWAPS:显示swap交换次数的相关开销信息 Show Profiles只显示最近发给服务器的SQL语句,默认情况下是记录最近已执行的15条记录,我们可以重新设置profiling_history_size增大该存储记录,最大值为100。 获取到Query_ID之后,我们再通过Show Profile for Query ID语句,就能够查看到对应Query_ID的SQL语句在执行过程中线程的每个状态所消耗的时间了: 通过以上分析可知:SELECT COUNT(*) FROM order; SQL语句在Sending data状态所消耗的时间最长,这是因为在该状态下,MySQL线程开始读取数据并返回到客户端,此时有大量磁盘I/O操作。 3.怎么用explain分析sql执行计划 我们可以使用 EXPLAIN 命令来分析 SQL 的 执行计划 。 1.什么是执行计划 执行计划 是指一条 SQL 语句在经过 MySQL 查询优化器 的优化会后,具体的执行方式。 通过 EXPLAIN 的结果,可以了解到如数据表的查询顺序、数据查询操作的操作类型、哪些索引可以被命中、哪些索引实际会命中、每个数据表有多少行记录被查询等信息。 2.执行计划常用字段 MySQL 为我们提供了 EXPLAIN 命令,来获取执行计划的相关信息。 需要注意的是,EXPLAIN 语句并不会真的去执行相关的语句,而是通过查询优化器对语句进行分析,找出最优的查询方案,并显示对应的信息。 执行计划有12个字段组成,常用的有: 1.type表示查询表连接类型**,查看索引执行情况的一个重要指标。以下性能从好到坏依次:system > const > eq_ref > ref > ref_or_null > index_merge > unique_subquery > index_subquery > range > index > ALL system:这种类型要求数据库表中只有一条数据,是const类型的一个特例,一般情况下是不会出现的。 const:通过一次索引就能找到数据,一般用于主键或唯一索引作为条件,这类扫描效率极高,,速度非常快。基于主键或唯一索引唯一值查询,最多返回一条结果,比eq_ref略好。 eq_ref:常用于主键或唯一索引扫描,一般指使用主键的关联查询 ref : 常用于非主键和唯一索引扫描。 ref_or_null:这种连接类型类似于ref,区别在于MySQL会额外搜索包含NULL值的行 index_merge:使用了索引合并优化方法,查询使用了两个以上的索引。 unique_subquery:类似于eq_ref,条件用了in子查询 index_subquery:区别于unique_subquery,用于非唯一索引,可以返回重复值。 r
点赞 13
评论 3
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
11-02 21:15
门头沟学院 前端工程师
叠纸游戏前端开发一面面经
1.实习介绍 2.JavaScript中的this指向规则有哪些? 3.什么是深拷贝和浅拷贝? 4.React中组件的生命周期有哪些阶段? 5.Vue组件间通信方式有哪些? 6.HTTP缓存机制中,强缓存和协商缓存的区别是什么? 7.什么是事件委托?事件委托的原理是什么?请结合实例说明事件委托在前端开发中的应用场景及优势? 8.TypeScript中的泛型约束、泛型默认值、泛型工具类型(如Partial、Required、ReadonlyPick)分别是什么?请举例说明其使用场景? 9.前端工程化中,ESLint、Prettier、Babel的作用分别是什么? 10.浏览器的同源策略及跨域解决...
查看10道真题和解析
点赞
评论
收藏
分享
今天 15:01
门头沟学院 Java
26开发校招薪酬分析
🦘白菜 23-25*15.5sp 25-27*15.5ssp 28-30*15.5 + 签字费🐶白菜 24-26*20sp:26-28*20ssp 30-33*20🐧 (目前开的不多 感觉样本比较少)白菜 24*15sp 29*15 ssp 32*15目前来看感觉开发还是🦘和🐶开的比较多,🦘被狂喷之后后面开的好像高一点,不过也不多。🐶确实是一枝独秀给太多了,鹅现在开的不多但是感觉今年不太给力.. 大家开的怎么样?
京东开奖
点赞
评论
收藏
分享
昨天 11:05
已编辑
西安电子科技大学 golang
28届日常实习完结撒花🎉
对不起度,有鹅选鹅套公式了球球度不要拉黑
1jian10:
还有人类吗
腾讯求职进展汇总
点赞
评论
收藏
分享
昨天 18:23
门头沟学院 研发工程师
京东开的有点吓人
🐶研发岗,base比其他offer高3k,年包就更不用说了,炸裂的20薪据说比例是b+以上占比70-80%,校招生第一年有保护,有没有内部人士分析一下真实情况业务比较早期,感觉未来应该比较有空间?手里还有节和团 感觉吸引力都一般.. 钱和工作内容感觉都没给到
便宜好用666:
有鹅选鹅,无鹅选🐶
投递京东等公司10个岗位
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
那个敢跟leader对线的实习生,现在怎样了
3812
2
...
数字马力一面(已挂)
3563
3
...
27找实习,简历求拷打
2398
4
...
字节业务中台后端开发一面
2382
5
...
数字马力 一面
2256
6
...
转测开是我大学生涯做过最正确的选择
2049
7
...
实习才知道原来攒钱这么不容易(给新人小白)
2017
8
...
中兴逼签要接吗?最纠结的一集
1842
9
...
数字马力一面
1824
10
...
云智一面完变筛选中
1757
创作者周榜
更多
正在热议
更多
#
同bg的你秋招战况如何?
#
174069次浏览
1020人参与
#
2022毕业即失业取暖地
#
116003次浏览
704人参与
#
京东开奖
#
469118次浏览
2670人参与
#
你实习是赚钱了还是亏钱了?
#
29526次浏览
240人参与
#
CVTE求职进展汇总
#
22661次浏览
319人参与
#
用一句话形容你的团队氛围
#
17957次浏览
177人参与
#
360集团校招
#
21198次浏览
164人参与
#
哪些公司校招卡第一学历
#
219840次浏览
776人参与
#
牛客租房专区
#
122440次浏览
1347人参与
#
机械人与华为的爱恨情仇
#
136923次浏览
1012人参与
#
海康威视工作体验
#
45253次浏览
157人参与
#
腾讯音乐求职进展汇总
#
135701次浏览
1005人参与
#
嵌入式岗知多少
#
58346次浏览
548人参与
#
联影医疗求职进展汇总
#
5648次浏览
24人参与
#
毕业论文进行时
#
6310次浏览
80人参与
#
找实习你看重大厂光环还是业务方向
#
41181次浏览
163人参与
#
58同城求职进展汇总
#
39850次浏览
263人参与
#
我来点评面试官
#
16024次浏览
113人参与
#
面对逼签的应对技巧
#
6631次浏览
34人参与
#
扒一扒那些奇葩实习经历
#
126360次浏览
1098人参与
#
实习返校后,你的精神状态是__?
#
37049次浏览
153人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务