首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
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
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
2025-12-31 10:41
天津大学 大数据开发工程师
看屏幕久了眼睛疼?这个扩展让我找到了工作和阅读的平衡点
当工作"绑架"了阅读每天对着电脑8小时,眼睛又干又涩,看东西都模糊。下班后想看点东西,但眼睛已经累到不行。想看的文章很多,但眼睛不允许。工作占用了时间,也消耗了眼睛。阅读成了奢侈品。直到我发现了这个TTS扩展,才找到了平衡点。眼睛的"抗议"去年体检,医生说我的眼睛干涩严重,建议减少屏幕时间。但工作需要,屏幕时间无法减少。阅读时间被压缩,想看的文章越积越多。我开始思考:能不能在不增加屏幕时间的情况下,继续阅读?一个改变:从"看"到"听"第一次用这个扩展是在一个周末。眼睛很累,但还有几篇技术文章没看。我试了试,选中文字...
点赞
评论
收藏
分享
昨天 19:59
淘天集团_Java后端开发工程师
阿里人的 2025 年终总结:买房、晋升、订婚、投资,遇见更清晰的自己
一、引言 又到了一年一度的年终复盘时刻。 复盘,从来不只是回看已经发生的事情,更重要的是——为尚未发生的未来,提前铺路、校准方向。 回望 2025 年,其实很长一段时间里,我始终没有真正找到自己的方向。工作之外,谈不上热爱,也谈不上笃定,只是在惯性中前行。 直到 2025 年的尾声,才终于看清了一些东西:哪些是必须坚持的,哪些是可以放下的,也逐渐摸索出几条更属于自己的路径。这一年,并非突然开悟,而是反复碰壁后的沉淀与取舍。 依旧按照惯例,沿着时间的轨迹,回到 2025 年的起点,梳理这一整年里的得与失、进与退,也为下一阶段的自己,留下些什么。 二、技术(AI驱动) 2025 年,是 AI 加...
2025,我想........
点赞
评论
收藏
分享
2025-11-06 17:44
哈尔滨工业大学(威海) Java
27届Java后端约不到面试,简历有什么问题吗
沟通了700+ 只投了50多份简历,两个面试,是简历问题吗😢😢ps:面试两次都不出意外的秒挂了,抄的星球项目很多地方都忘了,感觉需要更熟悉一点。两次面试基本都没问我java八股😇,感觉和面经内容好不相符!我还想在其中一个项目加点ai内容,合适吗?
出海电商码农:
27实习明年春天投吧
我的简历长这样
点赞
评论
收藏
分享
2025-12-22 16:31
已编辑
桂林电子科技大学 Python
逆天某科技公司某HR,骂人撤回后拉黑
贼逆天啊,发了个“youbing”然后光速撤回拉黑了,没截下来。
很奥的前端仔:
如果你接了offer 临时又说不去 hr确实要多做一些工作。 当然如果是接offer之前当我没说
点赞
评论
收藏
分享
2025-12-29 16:59
小红书_后端开发_REDstar算法工程师(准入职员工)
小红书内推,小红书内推码
小红书推荐算法面经一面(60min)1、自我介绍(5分钟)2、项目和一些八股(40分钟)- 模型label是什么- 这一结构为什么会有效果提升,分析- embedding怎么得到的- 简单介绍一下sim3、手撕代码(10分钟)- 最大子数组和4、反问二面(40min)1、自我介绍(5分钟)2、项目(20分钟)- 为什么模型有效果- 召回粗排和精排要解决什么问题,选一个最熟悉的讲一下未来的迭代方向- 怎么保证链路一致性3、手撕代码(10分钟)- 给链表的头结点,将其按照升序排列并返回排序后的链表4、反问虽然两次面试前几个小时,面试官都因为临时开会更改了面试时间,让人有点不舒服,但是面试官人真的都...
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
你会和mentor进行deeptalk吗?
2974
2
...
双非本2025秋招总结:65w+SSP三选一,最终还是“有鹅选鹅”|附面试心路历程
2253
3
...
学院本 末 211 硕勇闯 java 后端实习美团 oc 逆袭指南
1606
4
...
牛客运营们,我保证这是我最后一次消费烤肠了!
1430
5
...
27届学院本一段中厂一段中大厂实习,简历求锐评
1010
6
...
元旦前被裁员了
850
7
...
我的牛客年度报告
736
8
...
实习两周遭劝退,隔天就招新人,合理吗?
717
9
...
2025年牛客年度作者丨颁奖典礼✨
701
10
...
27前端已没招
701
创作者周榜
更多
正在热议
更多
#
实习没人带,苟住还是跑路?
#
16808次浏览
314人参与
#
AI时代,哪些岗位最容易被淘汰
#
25589次浏览
217人参与
#
我们是不是被“优绩主义”绑架了?
#
11849次浏览
322人参与
#
秋招被确诊为……
#
280088次浏览
1587人参与
#
牛客2025仙途报告
#
47921次浏览
527人参与
#
每个月的工资都是怎么分配的?
#
81539次浏览
662人参与
#
字节出了豆包coding模型
#
8240次浏览
70人参与
#
对2025年忏悔
#
8016次浏览
154人参与
#
春招前还要继续实习吗?
#
9841次浏览
112人参与
#
为了秋招你都做了哪些准备?
#
30022次浏览
528人参与
#
离家近房租贵VS离家远但房租低,怎么选
#
14234次浏览
132人参与
#
2025秋招体验点评
#
86339次浏览
719人参与
#
非技术2024笔面经
#
452429次浏览
4920人参与
#
一人说一家双休的公司
#
11479次浏览
128人参与
#
牛友的国庆旅行碎片
#
26525次浏览
128人参与
#
我的第一个1024节
#
17145次浏览
251人参与
#
职场新人生存指南
#
492258次浏览
9518人参与
#
面试官问过你最刁钻的问题是什么?
#
13589次浏览
122人参与
#
工作后会跟朋友渐行渐远吗
#
54458次浏览
395人参与
#
毕业租房也有小确幸
#
152894次浏览
4533人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务