MySQL数据库工程师入门实战课程视频教程
4164 人在学
面对慢SQL,一些DBA会心烦,会沮丧,会束手无措,也会沉着冷静、斗智斗勇!当中的关键在于数据库管理员如何分析得出SQL语句的执行计划和如何从SQL语句的执行计划中发现问题。
在DBA的日常工作中,调整个别性能较差的SQL语句是一项富有挑战性的工作。面对慢SQL,一些DBA会心烦,会沮丧,会束手无措,也会沉着冷静、斗智斗勇!当中的关键在于数据库管理员如何分析得出SQL语句的执行计划和如何从SQL语句的执行计划中发现问题。
下面老王就慢SQL的诊断和优化分享一些常用的套路~
慢SQL诊断
系统层面:检查系统服务器运行情况,磁盘 I/O 等;
数据库层面:
实用的SQL诊断工具:SQLTXPLAIN
是Oracle专家开发的,用于诊断SQL相关的问题的工具,简单易用却功能强大。
对于慢SQL诊断支持很多Optimzer问题:如执行计划异常、SQL慢、结果不正(Wrong Result)等。
慢SQL优化
由 SQL 编写导致的慢 SQL 的优化建议:
开源 SQL 优化平台
对于 SQL 语句的优化,现在有一些开源的SQL优化平台,这些融入了大量DBA工程师的经验,我们可以借助这些平台对 SQL 进行优化。
1. SOAR
是一款 SQL 智能优化与改写工具,由小米运维 DBA 团队出品,SOAR 主要由语法解析器、集成环境、优化建议、重写逻辑、工具集五大模块组成,相比业内其他优秀产品有自己的优势,不仅能帮助你 rewrite SQL并且能给出一些优化的建议。
2. SQLAdvisor
是由美团点评公司技术工程部DBA团队(北京)开发维护的一个分析SQL给出索引优化建议的工具。它基于MySQL的原生态词法解析,结合分析SQL中的其中条件,聚合条件,多表加入关系给出索引优化建议。
数据库有很多种 类型,从最简单的存储有各种数据的表格到能够进行海量 数据存储的大型数据库系统都在各个方面得到了广泛的应用。 在信息化社会,充分有效地管理和利用各类信息资源,是进行科学研究和决策管理的前提条件。数据库技术是管理信息系统、办公自动化系统、决策支持系统等各类信息系统的核心部分,是进行科学研究和决策管理的重要技术手段。