CloudDBA初体验:SQL优化建议

简介: CloudDBA帮助阿里云客户自动优化SQL语句

数据库诊断和优化过程具有相当的复杂性,通常需要专业的DBA来解决。但在云计算的今天,人力运维和支撑已经变得不可能,自动化,智能化运维和服务支持日益迫切。

阿里云数据库团队在这方面不断的探索和积累,产出了CloudDBA。其目的就是要把我们已知问题和最佳实践能够以最简单的方式告诉用户,把我们多年使用数据库的经验传承给用户,方便客户使用云上数据库,给客户带来直接的价值。CloudDBA同时也在服务着内部业务,数以千计的数据库实例之前需要一个team的运维人员,到现在我们只有一个同学,运维效率大幅提升。

CloudDBA一期给客户输出的功能包含数10项,迫不及待先给大家介绍SQL优化建议功能。

1. SQL优化方法

SQL对技术人员来说再熟悉不过,但开发人员和数据库人员对其却有不同的理解。比如开发人员看到的如下SQL语句,

屏幕快照 2017-09-27 16.04.04.png

在数据库中却是另外一种视图:

屏幕快照 2017-09-27 16.08.25.png

CloudDBA的SQL优化功能就是帮助数据库寻找最佳执行路径,将其优化成更为简洁和高效的视图:

屏幕快照 2017-09-27 16.12.32.png

2. SQL优化示例

示例1

SQL条件下推是多数开发人员忽视的问题,详细介绍及解法说明参见MySQL · 性能优化 · 条件下推到物化表 以及 MySQL · 性能优化 · MySQL常见SQL错误用法

该例子中的SQL在开发人员工作中经常出现:

  1. 聚合子查询其实是先定义的一个视图,之后用的时候再加条件出结果(SQL看起来简洁^^);
  2. 条件是拼接出来的,或许还出了bug,匹配符号位置放错了;

这样的SQL写法一般都存在性能问题。

屏幕快照 2017-09-27 16.23.09.png


有了CloudDBA后,这些SQL问题都会直接提示给开发人员:

22.png

根据提示,创建索引,重写SQL性能大幅提升:

33.png

示例2

再贴一个复杂点SQL语句。继续体验一下CloudDBA的自动化建议:

屏幕快照 2017-09-27 16.54.55.png


CloudDBA帮助客户更轻松的运维数据库,更好的利用到阿里云数据库的性能。我们会不断努力,致力于阿里云数据库用户体验的提升!CloudDBA等待你的加入,实现更多闪耀的功能 。

目录
相关文章
|
6月前
|
SQL PHP
thinkphp之进阶sql语法,持续更新
thinkphp之进阶sql语法,持续更新
34 0
|
7月前
|
SQL 关系型数据库 MySQL
MySQL数据库进阶-SQL优化
MySQL性能分析、SQL优化方案
99 1
|
SQL 机器学习/深度学习 关系型数据库
MySql优化神器 Explain工具介绍
MySql优化神器 Explain工具介绍
181 0
|
SQL 存储 关系型数据库
【MySQL数据库笔记 - 进阶篇】(三)SQL优化
【MySQL数据库笔记 - 进阶篇】(三)SQL优化
413 0
|
SQL 存储 Cloud Native
深入浅出SQL优化器原理
SQL优化器是数据库、数据仓库、大数据等相关领域中最复杂的内核模块之一,它是影响查询性能的关键因素。比如大家熟知的开源产品 MySQL、PostgreSQL、Greenplum DB、Hive、Spark、Presto,都有自己的优化器。本文将由浅入深地带读者了解其中技术原理。
477 0
深入浅出SQL优化器原理
|
SQL 负载均衡 关系型数据库
Java开发 - 如何进行慢sql优化
Java开发 - 如何进行慢sql优化
280 0
|
SQL 关系型数据库 MySQL
案例2:SQL优化 | 学习笔记
简介:快速学习案例2:SQL优化