优化SQL之最快等价SQL
SQL优化工具Tosska SQL Tuning Expert for Oracle,帮助SQL开发人员解决SQL性能问题。
本工具主要创始人Richard To, 资深ITPUB元老,从1996年开始设计SQL优化工具,拥有超过20年的SQL优化经验。
工具已经从最初的1.0, 1.1,1.2,逐步演化到了3.0. 最新版本主要包含3个功能:
1. 为单条SQL产生等价SQL, 并找出最快的等价SQL;
2. 为单条SQL建议最佳索引;
3. SQL性能报表;
官网下载 https://www.tosska.cn/tosska-sql-tuning-expert-tse-oracle-free-download-zh/
产品介绍 https://www.tosska.cn/tosska-sql-tuning-expert-tse-oracle-zh/
下面开始介绍如何用工具优化SQL.
1. 创建数据库连接, 也可以稍后创建。
连接名可以随意填写,也可以用默认值,我个人喜欢用它来标识连接的是哪个数据库。
Oracle客户端不是必须的。不装Oracle客户端的话,连接类型选“基本”,然后用数据库主机名或者IP, 端口直连;装了Oracle客户端的话, 并且在Oracle客户端配置了TNS,可以用TNS连接数据库。
填好连接信息,点击 “连接” 按钮。

2. 输入有性能问题的SQL后, 点击“优化SQL”

3. “测试运行所有SQL选项”窗口,提供了很多性能基准测试的选项。
点“确定”按钮开始SQL优化。

4. 工具产生了23条等价SQL,并且开始性能基准测试。虽然测试还没有完成,我们已经可以看到 SQL 8 的性能提升了59%。
原始SQL的执行时间是 34.84 秒。
SQL 8 的执行时间是 14.27 秒。

5. 优化结束后,最快的等价SQL是 SQL 7, 工具将原SQL 从 34.84秒,优化到不到1秒。
原始SQL的执行时间是 34.84 秒。
SQL 7 的执行时间是 0.05 秒。

6. 点击 SQL 7 ,用等价的SQL 7 替换应用程序源代码中的原SQL。重新编译应用程序,测试后发布。

SQL 执行时间从34.84秒,优化到不到1秒。 调优任务顺利完成,完美!
如何为1条SQL,创建最佳索引?请看 优化SQL之最佳索引
Tosska SQL Tuning Expert Pro for Oracle,除了本文介绍的SQL调优基本功能之外,还能在不修改SQL源码的情况下,调整和稳定SQL执行计划;为批量SQL(例如1000条SQL)建议最优索引。
详情请阅读以下文章:
SQL优化神器-Tosska SQL Tuning Expert Pro for Oracle
SQL优化系列(三)- 不修改源码,为批量SQL建议最佳索引
优化SQL之最快等价SQL的更多相关文章
- mysql系列十一、mysql优化笔记:表设计、sql优化、配置优化
可以从这些方面进行优化: 数据库(表)设计合理 SQL语句优化 数据库配置优化 系统层.硬件层优化 数据库设计 关系数据库三范式 1NF:字段不可分; 2NF:有主键,非主键字段依赖主键; 3NF:非 ...
- 理解性能的奥秘——应用程序中慢,SSMS中快(6)——SQL Server如何编译动态SQL
本文属于<理解性能的奥秘--应用程序中慢,SSMS中快>系列 接上文:理解性能的奥秘--应用程序中慢,SSMS中快(5)--案例:如何应对参数嗅探 我们抛开参数嗅探的话题,回到了本系列的最 ...
- 转://从一条巨慢SQL看基于Oracle的SQL优化
http://mp.weixin.qq.com/s/DkIPwbDKIjH2FMN13GkT4w 本次分享的内容是基于Oracle的SQL优化,以一条巨慢的SQL为例,从快速解读SQL执行计划.如何从 ...
- 从一条巨慢SQL看基于Oracle的SQL优化(重磅彩蛋+PPT)
本文根据DBAplus社群第110期线上分享整理而成,文末还有好书送哦~ 讲师介绍 丁俊 新炬网络首席性能优化专家 SQL审核产品经理 DBAplus社群联合发起人.<剑破冰山-Oracle开发 ...
- 数据库sql优化总结之5--数据库SQL优化大总结
数据库SQL优化大总结 小编最近几天一直未出新技术点,是因为小编在忙着总结整理数据库的一些优化方案,特此奉上,优化总结较多,建议分段去消化,一口吃不成pang(胖)纸 一.百万级数据库优化方案 1.对 ...
- MySQL数据库性能优化:表、索引、SQL等
一.MySQL 数据库性能优化之SQL优化 注:这篇文章是以 MySQL 为背景,很多内容同时适用于其他关系型数据库,需要有一些索引知识为基础 优化目标 减少 IO 次数IO永远是数据库最容易瓶颈的地 ...
- SQL SERVER调优常用方法 sql优化
说起SQL SERVER的调优,我想大伙也很想知道这方面的知识.本人也正在探索的路上,大家有什么好的意见,欢迎一起探讨.研究.博取众人之长,才能扬长避短.本文中的内容主要是摘自<程序员的SQL金 ...
- StringBuilder 拼接sql语句比较快
StringBuilder 拼接sql语句比较快StringBuilder strBuilder = new StringBuilder();strSql += "insert into t ...
- mysql优化(三)–explain分析sql语句执行效率
mysql优化(三)–explain分析sql语句执行效率 mushu 发布于 11个月前 (06-04) 分类:Mysql 阅读(651) 评论(0) Explain命令在解决数据库性能上是第一推荐 ...
随机推荐
- Java-MyBatis-MyBatis3-XML映射文件:select
ylbtech-Java-MyBatis-MyBatis3-XML映射文件:select 1.返回顶部 1. select 查询语句是 MyBatis 中最常用的元素之一,光能把数据存到数据库中价值并 ...
- Spring MVC(十一)--使用字符串实现重定向
Spring MVC中有两种重定向方式: 通过返回字符串,字符串必须以redirect:开头: 通过返回ModelAndView: 重定向的时候如果需要给重定向目标方法传参数,要分字符串参数和pojo ...
- 11-4-while和dowhile
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- ES6之主要知识点(六)数组
引自http://es6.ruanyifeng.com/#docs/array 1.扩展运算符(...) 扩展运算符(spread)是三个点(...).它好比 rest 参数的逆运算,将一个数组转为用 ...
- python 创建txt每行写入
txtPath=os.path.join(vocDir,"eval.txt") with open(txtPath,"w") as f: f.writeline ...
- 服务器的tomcat调优和jvm调化
下面讲述的是tomcat的优化,及jvm的优化 Tomcat 的缺省配置是不能稳定长期运行的,也就是不适合生产环境,它会死机,让你不断重新启动,甚至在午夜时分唤醒你.对于操作系统优化来说,是尽可能的增 ...
- linux支持大容量硬盘
1.fdisk使用msdos格式分区,最大支持2T硬盘,要使用大于2T硬盘需使用parted命令使用GPT格式分区. 2.除修改分区格式外,linux内核需添加GPT分区格式支持,修改如下: CONF ...
- PHP简单实现“相关文章推荐”功能的方法(此方法不是自创)
1, 所用的函数:int similar_text ( string $first, string $second[, float $percent] ) 利用similar_text将这些文章标题同 ...
- 唤起qqApp
<a href="tencent://message/?uin=xxxxxxxxxxxxxx&Site=400301.com&Menu=yes">联系客 ...
- BZOJ 2683: 简单题(CDQ 分治)
题面 Time Limit: 50 Sec Memory Limit: 128 MB Description 你有一个N*N的棋盘,每个格子内有一个整数,初始时的时候全部为0,现在需要维护两种操作: ...