CloudDBA初体验:SQL优化建议

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

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

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

SQL优化方法

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

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

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

示例1

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

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

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

这样的写法性能肯定是好不了的。

有了CloudDBA后,开发人员会得到直接的提示:

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

示例2

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

CloudDBA是数据库自动化运维的一个分水岭。我们会不断努力,致力于阿里云数据库用户体验的提升!CloudDBA等待你的加入,实现更多闪耀的功能 。

时间: 2024-09-20 00:04:10

CloudDBA初体验:SQL优化建议的相关文章

MySQL · 性能优化· CloudDBA SQL优化建议之统计信息获取

阿里云CloudDBA具有SQL优化建议功能,包括SQL重写建议和索引建议.SQL索引建议是帮助数据库优化器创造最佳执行路径,需要遵循数据库优化器的一系列规则来实现.CloudDBA需要首先计算表统计信息,是因为: 数据库优化器通常是基于代价寻找执行路径: SQL优化建议所针对的数据库不限于MySQL数据库,也不局限于某一个特定版本: 1. 基本原则 数据库统计信息在SQL优化起到重要作用.用来估算查询条件选择度的常见统计信息包括表统计信息和字段统计信息.DBA计算查询条件选择度或代价时经常通过

初体验SQL Server 2012的Hadoop连接器

本文讲的是初体验SQL Server 2012的Hadoop连接器,电影<天下无贼>中一句经典的"21世纪什么最贵?人才!",体现了以人为本的价值观.而实际上,深处大数据时代的我们,是不是也应该幽默一回:"21世纪什么最值钱?数据!".对于企业而言,除了人才,数据也是最重要资产之一. "大"数据的价值 面对如此庞大的数据,企业该如何挖掘其中的商机呢?这里给出一些应用场景,简单梳理一下大数据的价值所在: ·在以用户为中心的SNS网络中,

CloudDBA最佳实践-TOP SQL优化分析数据库性能问题

    云数据库CloudDBA诊断报告的TOP SQL优化是非常实用的功能,我们可以通过TOP SQL去诊断数据库中各种问题,比如性能出现下降,数据库压力出现波动,下面介绍两个线上生产案例.     一. 利用CloudDBA TOP SQL找出数据库规格升级而性能下降的元凶     最近在协助用户进行系统重构,RDS测试选型自然成为了本项目的一个重点,但是用户在测试不同规格的时候发现大规格的实例性能居然不如小规格,4C32G规格性能比8C64G规格高出10%,其性能监控也是非常的正常,4C3

使用dbms_sqltune获得SQL调整建议

  原创转载请注明出处   SQL TUNING ADVISOR是10G中顾问构架中的一个重要组建,除了使用EM来进行使用还可以使用语句来使用,主要目的在于看看ORACLE给出的SQL优化建议,但是好像不是每次都有效.如果能100%有用也不需要人为优化,不管如何我感觉可以一试.一下是完成这个任务的过程 1.创建调整任务 ---defineDECLAREmy_task_name   VARCHAR2 (30);my_sqltext     CLOB;BEGINmy_sqltext :=  'sel

SQL Server 全文搜索 配置、查询初体验

原文:SQL Server 全文搜索 配置.查询初体验 一.使用SQL Server全文搜索配置 要使用SQL Server的全文搜索服务,需要进行如下配置. 1.开启全文搜索服务: 2.开启数据库的全文索引功能: --开启数据库的全文搜索功能 EXEC sp_fulltext_database 'enable'; 3.创建全文索引目录: --创建全文索引目录 CREATE FULLTEXT CATALOG IndexCatalog ON FILEGROUP [PRIMARY] IN PATH

4点提升网站的优化体验度的建议

吉恩创想专家认为,总是把一个网站的http://www.aliyun.com/zixun/aggregation/8646.html">优化排名看做是重要的,那么我们的网站建设就是失败的.网站建设的成功与否关键在于我们网站的用户体验度是否高.下面我们专家告诉大家4点提升网站用户体验度的建议. 1.网站的外观设计 网站的外观对于用户的第一印象很是重要的,如何建设的我们网站与众不同,对于网站的运营是十分的重要的.那么我们应该怎么样的设计我们的网站呢?我们建议在板块构建.色彩搭配.文字应用以及图

PostgreSQL 数据库初体验

  10月15日,由山东华鲁科技咨询顾问高强老师在"DBA+济南群"进行了一次关于PostgreSQL数据库初体验的线上主题分享.小编特别整理出其中精华内容,供大家学习交流.   嘉宾简介    高强,"DBA+济南群"联合发起人.现就职于山东华鲁科技发展股份有限公司.擅长Oracle.AIX.Linux.PostgreSQL和DB2等产品的实施.运维和故障处理.曾是一名存储工程师,负责实施存储.双机和备份等产品,在接触到数据库产品后,一发不可收拾的投入了DBA的浩

一名UX设计师的VR设计初体验

  本文是某VR团队设计总监在这个新领域当中进行设计初体验时所得到的一些经验分享.相信如今有很多设计师一方面不具备相关的经验,一方面又希望进入VR领域去扩展技能.开拓视野.所以希望本文能够为各位带来一些指引与帮助. 恩,这次仍是VR探索,从设计师职能出发的实战经验漫谈;对比之前的几篇,慢慢可以发现如今的设计先行者们所汇总的东西当中会有一些重要的交集.在尚未实际进入领域之前,通过识别这些交集,我们或许也可以摸到一些关键的东西了.我个人目前还没有能力去做任何偏技术的文章,例如3D方面;在当前阶段,对

《全栈性能测试修炼宝典 JMeter实战》—第2章 2.1节性能测试初体验

第2章 性能测试初体验 全栈性能测试修炼宝典 JMeter实战 从本章你可以学到: 性能测试的价值 性能测试流程 性能测试成功与失败要素 不同角色看性能 性能测试工具选择 性能测试相关术语 性能测试通过标准 性能测试趋势 性能测试是一项综合性的工作,致力于暴露性能问题,评估系统性能趋势.性能测试工作实质上是利用工具去模拟大量用户操作来验证系统能够承受的负载情况,找出潜在的性能问题,分析并解决:找出系统性能变化趋势,为后续的扩展提供参考.测试显然不是录制脚本那么简单的事情(而且现在很多系统还无法录