SQL Optimizer for SQL Server

帮助提升数据库应用程序性能,最大程度地自动优化你的SQL语句

SQL Optimizer for SQL Server 让 SQL Server DBA或者T-SQL开发人员能够主动地识别潜在的SQL性能问题,通过扫描和分析SQL语句进行人工智能自动SQL优化。Dell SQL Optimizer通过尝试每一种可能来激发数据库内部SQL优化器的潜能,从而达到性能优化的目的,这是数据库内部SQL优化器不能做到的。下面介绍一下这个工具的一些主要功能模块。

Dell SQL Optimizer for SQL ServerSQL优化流程

  • SQL重写(SQL Rewrite

大家都知道,同一条SQL语句,不同的写法性能可能不一样。这个模块采用了独特的人工智能算法(反馈式搜索:如下图所示)进行自动重写SQL语句。就算没有掌握深入的T-SQL知识,通过这 个模块也可以改写SQL文本找出性能更优的写法,最终达到优化SQL性能的目的。也就是说,利用这个工具任何人都可以写出专家级的SQL语句。

下面载图显示“反馈式搜索重写引擎”强大的重写能力,其友好的界面和丰富的测试运行方法可以方便地比较和找出与原始SQL等阶的性能高效写法。

在智能等级设置为3时,一共为这条SQL语句找出了231条具有不同执行计划的等阶SQL的写法。就算一个经验丰富资深DBA并且对T-SQL语法了如指常,也不可能在短时间内去尝试这么多种可能!

测试运行所有重写的SQL语句,找出Alt122是运行时间最快的SQL语句。

Compare面页可以进行比较不同的可选SQL重写(下图显示运行时间最快的Alt122是被改写成了INNER JOIN并且加了TABLE HINT):

 

  • 计划控制(Plan Control

计划控制模块同样也是采用了人工智能算法为你的SQL语句产生计划指南(Plan Guide)解决方案。通过计划指南技术,可以实现不需要修改源代码进行优化SQL语句。 如果SQL语句中包括了字面常量,将会提供一些参数化与SQL计划指南组合的解决方案。SQL Server 2005就提供了计划指南技术,要用好这个技术进行SQL调优可不是一件容易的事,SQL Server2005的后续版本对此也没有做很多的改进。Plan Control 通过尝试不同的查询提示组合产生计划指南,设定优化目的进行测试运行为你的SQL语句找出最佳的计划指南。部署找出的最佳计划指南就可以提升SQL语句的性能。这很大程度上简化的计划指南的应用。

  • 优化索引(Optimize Indexes

针对一条SQL语句建立索引,通常不是一件难事。如果为了提高某一条SQL语句的性能盲目地创建一些索引,很有可能会给其它SQL语句带来性能下降的影响,严重的话会导致整个系统性能的下降。Optimize Indexes模块采用遗传算法对一批SQL语句进行综合评估产生建立索引建议的脚本,通过这个脚本建立相应的索引达到提高整个系统的性能。如果想进一步 了解这个模块,可以阅读SQL优化大师Richard To博客的相关文章:A Revolutionary Index Advisor。

  • 查找SQLFind SQL

利用Find SQL模块可以方便快速地从不同的地方找出可以调优或者存在优化空间的SQL语句,如:计划缓存(Plan Cache)和SQL跟踪(SQL Traces) 。通过Top N的方式查看不同运行时统计信息(如:CPU时间和逻辑读等等)识别出消耗资料最多的SQL语句。一旦找出需要调优的SQL语句,根据这些SQL语句的使用场景可以发送到SQL重写(SQL Rewrite)、计划控制(Plan Control)和优化索引(Optimize Indexes)模块进行优化。

  • 扫描SQLScan SQL

这个模块可以从文件(源代码文件、二进制文件及SQL跟踪文件等等)或数据库对象(存储过程、触发器等等)中扫描出SQL语句。通过分析执行计划对这些扫描出来的SQL语句逐一分类。优先检查被定义为“有问题的(Problematic)”和“复杂的(Complex)”分类,进一步查看SQL语句文本及其执行计划。将SQL文本发送至SQL 重写、计划控制或优化索引模块进行自动优化找出更好的方案(SQL重写、计划指南、索引建议)。

最新版本下载地址:https://support.software.dell.com/sql-optimizer-for-sql-server/download-new-releases

转载于:https://www.cnblogs.com/sqlexpert/p/3673298.html

智能SQL优化工具--SQL Optimizer for SQL Server(帮助提升数据库应用程序性能,最大程度地自动优化你的SQL语句 )...相关推荐

  1. 在 Visual Studio .NET 中使用 SQL Server 2000 创建数据库应用程序(1)

    适用于:     Microsoft? SQL Server? 2000     Microsoft Visual Studio? .NET 摘要:如何使用 Visual Studio .NET 工具 ...

  2. android优化最强软件,最强大的安卓优化工具诞生,让手机流畅度提升75%

    原标题:最强大的安卓优化工具诞生,让手机流畅度提升75% 身边不少朋友表示用了iPhone之后就再也回不去安卓了,因为iOS系统的流畅度确实碾压绝大部分安卓手机.但是Android最大的优势就是用户可 ...

  3. android自动化优化工具,Auto Optimizer手机性能自动优化App

    Auto Optimizer是安卓手机上的一款全自动型性能优化软件,用户只需要设定好相关参数,app就会在合适的时机去对手机进行清理优化,让手机时刻保持最优性能状态.欢迎感兴趣的朋友前来西西下载体验! ...

  4. 《多核与GPU编程:工具、方法及实践》----1.5 并行程序性能的预测与测量

    本节书摘来自华章出版社<多核与GPU编程:工具.方法及实践>一书中的第1章,第1.5节, 作 者 Multicore and GPU Programming: An Integrated ...

  5. Python-OpenCV 杂项(三): 程序性能的检测和优化

    在图像处理的中每秒钟都要进行大量的运算,所以对程序的要求不仅要能给出正确的结果,同时还需要快. 0x00. 获取程序执行时间 cv2.getTickCount 函数返回从参考点到这个函数被执行的时钟数 ...

  6. Python-OpenCV 杂项(二)(三): 鼠标事件、 程序性能的检测和优化

    0x00. 查看鼠标事件 下面的方法可以查看OpenCV支持的所有鼠标事件: import cv2 events=[i for i in dir(cv2) if 'EVENT'in i] print ...

  7. Sql语句的优化以及Sql语句优化工具

    这周在做项目的时候,发现有些Sql语句写的复杂,一个复杂的Sql语句不仅性能比较低下,当涉及到重构的时候也是不容易理解和读懂的,并且一个复杂的sql语句会显著增加程序的耦合度,所以Sql语句的优化就显 ...

  8. 通过PL/SQL developer工具访问远程的Oracle数据库_访问数据库_连接数据库_登录数据库

    文章目录 工具简介 电脑没有安装 Oracle 数据库 电脑安装了 Oracle 数据库 工具简介 PL/SQL Developer 是 Oracle 数据库开发工具,PL/SQL Developer ...

  9. mysql数据迁移到teradata_Teradata SQL Assistant工具导入与导出

    Teradata SQL Assistant工具导入与导出 1. 使用Teradata SQL Assistant工具导入与导出 当你得到一个EXCEL平面文件数据的时候,你就可以利用Teradata ...

最新文章

  1. 马斯克学什么计算机语言,马斯克头脑风暴——对计算机如醉如痴
  2. python class 属性是什么_python class 的属性
  3. 高精度除以低精度板子
  4. python中怎么查看二进制转换的数据_python处理二进制数据的方法
  5. java面向对象编程考试题,202514HJava面向对象编程答案试题题目及答案,期末考试题库,章节测验答案...
  6. 控制反转(ioc)和 面向切面(AOP)
  7. JDK10的新特性:本地变量类型var
  8. Spring Boot————AOP入门案例及切面优先级设置
  9. QML工作笔记-2种输入框的使用(TextField与TextInput)
  10. 特斯拉线圈怎么用_中二科技_场管自激特斯拉线圈的制作
  11. 理解python先编译后解释的特点
  12. [Yii Framework] yii中如何不加载layout
  13. cmd 根据计算机名查ip地址_如何查找和更改Mac上的IP地址
  14. 《涂抹Oracle—三思笔记之一步一步学Oracle》看书笔记(序言)
  15. Keras搭建神经网络BPNN(分类问题)
  16. 生信学习—Biostar课程3、4安装使用Entrez Direct和SRA toolkit
  17. Java家庭收支记账程序
  18. 如何直接通过电脑查看路由器密码
  19. 写在2020.11.19 周四晚上
  20. 做你热爱的事情,35岁绝对不是问题

热门文章

  1. 雷电模拟器多开cpu优化_哪个电脑手游模拟器好用 安卓手游模拟器测试对比排行榜...
  2. HTTP协议—状态码(思维导图速查)
  3. C#基础4:函数+ref和out参数
  4. 2017 Multi-University Training Contest - Team 7:1002. Build a tree(递归)
  5. bzoj 2440: [中山市选2011]完全平方数(二分+莫比乌斯函数)
  6. python网络爬虫系列教程——PhantomJS包应用全解
  7. java使用RSA加密方式实现数据加密解密
  8. js中字符串类型转化toString、parseInt、parseFloat、Number
  9. matlab2c使用c++实现matlab函数系列教程-sin函数
  10. matlab2c使用c++实现matlab函数系列教程- polyint函数