优化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. 创建数据库连接, 也可以稍后创建 (如果已经创建了数据库连接,请忽略此步骤,直接跳到第2步)。
关于如何创建连接,请看 优化SQL之最快等价SQL篇 第1步;
2. 在“索引”页, 输入有性能问题的SQL后, 点击 “建议索引”
注意: 如果我们在“SQL”页已经输入了有性能问题的SQL, 转到“索引”页,就不需要再输入原SQL了。

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

4. 工具产生了8个索引集合,并且开始性能基准测试。
最快的索引集合是 Index Set 5 (包含了2个索引), 工具将原SQL 从 34.99秒,优化到不到1秒。
原始SQL的执行时间是 34.99 秒。
创建 Index Set 5 后的执行时间是 0.07 秒。

6. 点击 Index Set 5 ,复制创建索引的脚本,在SQL*Plus 或者PL/SQL Developer 中执行。索引创建成功后,确认应用软件性能得到了提升。

原 SQL 的执行时间34.99秒,创建索引后执行时间不到1秒。 调优任务顺利完成!
如何找到1条SQL的最快等价SQL? 请看 优化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之最快等价SQL
SQL优化工具Tosska SQL Tuning Expert for Oracle,帮助SQL开发人员解决SQL性能问题. 本工具主要创始人Richard To, 资深ITPUB元老,从1996年开 ...
- 《MySQL慢查询优化》之SQL语句及索引优化
1.慢查询优化方式 服务器硬件升级优化 Mysql服务器软件优化 数据库表结构优化 SQL语句及索引优化 本文重点关注于SQL语句及索引优化,关于其他优化方式以及索引原理等,请关注本人<MySQ ...
- SQL优化笔记一:索引和explain
目录 为什么需要优化SQL SQL优化的重点 索引 索引的结构 索引的优缺点总结: 索引的分类 索引操作 B树 实战 问题 数据库方面,我会使用MySQL来讲解 为什么需要优化SQL 性能低,执行时间 ...
- SQL优化(三)—— 索引、explain分析
SQL优化(三)—— 索引.explain分析 一.什么是索引 索引是一种排好序的快速查找的数据结构,它帮助数据库高效的查询数据 在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据 ...
- mysql数据库性能优化(包括SQL,表结构,索引,缓存)
优化目标减少 IO 次数IO永远是数据库最容易瓶颈的地方,这是由数据库的职责所决定的,大部分数据库操作中超过90%的时间都是 IO 操作所占用的,减少 IO 次数是 SQL 优化中需要第一优先考虑,当 ...
- 利用 Oracle EM 企业管理器 进行oracle SQL的优化(自动生成索引)
利用 Oracle EM 企业管理器 进行oracle SQL的优化(自动生成索引) ##应用情景 项目中有大量的SQL,尤其是涉及到统计报表时,表关联比较多,当初开发建表时也没搞好索引关联的,上线后 ...
- paip.索引优化---sql distict—order by 法
paip.索引优化---sql distict—order by 法 作者Attilax , EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blog ...
- 在优化SQL语句中使用虚拟索引
定义:虚拟索引(virtual index) 是指没有创建对应的物理段的索引. 虚拟索引的目的:是在不损耗主机CPU,IO,磁盘空间去实际创建索引的情况下,来判断一个索引是否能够对SQL优化起到作用. ...
- MySQL查询不使用索引汇总 + 如何优化sql语句
不使用索引原文 : http://itlab.idcquan.com/linux/MYSQL/918330.html MySQL查询不使用索引汇总 众所周知,增加索引是提高查询速度的有效途径,但是很多 ...
随机推荐
- STL与泛型编程-学习2-GeekBand
9, 容器 Deque 双向队列 和vector类似, 新增加: push_front 在头部插入一个元素 pop_front 在头部弹出一个元素 Deque和vector内存管理不同: 大块分配内存 ...
- pandas一些基本操作(DataFram和Series)_3
import pandas as pd;import numpy as np#通过一维数组创建Chinese = np.array([89,87,86])print(Chinese)print(pd. ...
- sscanf linux-c从一个字符串中读进与指定格式相符的数据
https://www.cnblogs.com/lanjianhappy/p/6861728.html 函数原型: Int sscanf( string str, string fmt, mixed ...
- Ansible 安装使用过程中遇到过的问题
1.[root@ansible ~]# ansible-doc -l [DEPRECATION WARNING]: docker is kept for backwards compatibility ...
- git add命令后出现Another git process seems to be running in this repositor...错误提示
问题原因 在控制台使用git命令操作时,使用了 git commit 进入了commit信息书写页面,大多数人因为不太熟悉vim的操作导致不知怎么结束编写,就进行了直接关闭控制台的操作,但是此时git ...
- kill 3000
杀3000端口,是作为一个web未开发人员经常遇到的事情 所以我今天就分享一下我的杀3000端口秘诀 lsof -i: 先要找到端口 node zcool 20u IPv6 0xdddbb4f6f12 ...
- 如何设置td中溢出内容的隐藏显示
<style type="text/css"> table { table-layout:fixed; } td { overflow:hidden; word-bre ...
- Python学习笔记之常用函数及说明
Python学习笔记之常用函数及说明 俗话说"好记性不如烂笔头",老祖宗们几千年总结出来的东西还是有些道理的,所以,常用的东西也要记下来,不记不知道,一记吓一跳,乖乖,函数咋这么多 ...
- STL中的unique()和lower_bound ,upper_bound
unique(): 作用:unique()的作用是去掉容器中相邻元素的重复元素(数组可以是无序的,比如数组可以不是按从小到大或者从大到小的排列方式) 使用方法:unique(初始地址,末地址): 这里 ...
- JavaWeb — Servlet(Server Applet)
Servlet(Server Applet) 全称Java Servlet,未有中文译文.是用Java编写的服务器端程序.其主要功能在于交互式地浏览和修改数据,生成动态Web内容. 狭义的Servle ...