文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

如何解析MySQL性能优化中的SQL优化

2024-04-02 19:55

关注

如何解析MySQL性能优化中的SQL优化,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

注:以 MySQL 为背景,很多内容同时适用于其他关系型数据库,需要有一些索引知识为基础

作者:Sky.Jian | 可以任意转载, 但转载时务必以超链接形式标明文章原始出处 和 作者信息 及 版权声明 
链接:http://isky000.com/database/mysql-performance-tuning-sql


博主附:
第8点曾经在eygle的dba-notes中提到过。(在Oracle DB中仍然有效)

主要问题是通过连接访问新闻页面及其缓慢,通常需要数十秒才能返回。

查询v$session视图,获取进程信息:
SQL> select sid,serial#,username from v$session where username is not null;
如何解析MySQL性能优化中的SQL优化


对相应会话启用sql_trace跟踪:
SQL> exec dbms_system.set_sql_trace_in_session(7,284,true)
SQL> exec dbms_system.set_sql_trace_in_session(11,214,true)
SQL> exec dbms_system.set_sql_trace_in_session(16,1042,true)

执行一段时间后,关闭:
SQL> exec dbms_system.set_sql_trace_in_session(7,284,false)
SQL> exec dbms_system.set_sql_trace_in_session(11,214,false)
SQL> exec dbms_system.set_sql_trace_in_session(16,1042,false)

检查trace文件,可以找到跟踪过程中前台执行的sql调用,检查发现以下语句是可疑的性能瓶颈点:
select auditstatus,categoryid,auditlevel from
categoryarticleassign a,category b where b.id=a.categoryid
and articleId=20030700400141 and auditstatus>0

如何解析MySQL性能优化中的SQL优化

这里的查询是根据articleId进行新闻读取的,但是注意到逻辑读有3892,这是一个较高的数字,这个内容引起了我的注意。
接下来的类似查询跟踪得到的执行计划显示,全表访问被执行:

如何解析MySQL性能优化中的SQL优化

然后检查表结构,查看是否存在有效索引,以下输出的idx_articleid给予articleid创建,但在以下查询中都没有被用到 
SQL> select index_name,table_name,column_name from user_ind_columns
2 where table_name=upper('categoryarticleassign');
如何解析MySQL性能优化中的SQL优化

检查发现表结构如下:
如何解析MySQL性能优化中的SQL优化

此时发现articleid为varchar2类型,而查询中给出的articleid=20030700400141是一个number型,oracle发生了潜在的数据类型转换,从而导致了索引失效。

解决方法很简单,只要将articleid加上一个单引号即可。

看完上述内容,你们掌握如何解析MySQL性能优化中的SQL优化的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯