ITPUB论坛-中国最专业的IT技术社区

 
 注册
热搜:
查看: 997|回复: 44

邀请高手测试一款机械式全自动SQL优化工具

[复制链接]
论坛徽章:
20
ITPUB元老
日期:2005-02-28 12:57:002012新春纪念徽章
日期:2012-02-13 15:10:582012新春纪念徽章
日期:2012-02-13 15:10:582012新春纪念徽章
日期:2012-02-13 15:10:582012新春纪念徽章
日期:2012-02-13 15:10:58马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:142012新春纪念徽章
日期:2012-02-13 15:10:58
跳转到指定楼层
1#
发表于 2017-12-20 12:11 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 richto 于 2017-12-21 11:06 编辑

邀请高手测试 SQL Tuning Expert for Oracle - An Innovative Machine Tuning Tool for SQL Statements

一款自动化SQL优化工具Tosska SQL Tuning Expert for Oracle上线啦!

下载地址:


官方详细介绍:


欢迎各位大大提出建议

Richard To
CTO - Tosska Technologies Limited
认证徽章
论坛徽章:
0
2#
发表于 2017-12-20 17:56 | 只看该作者
下载地址不对?

使用道具 举报

回复
论坛徽章:
486
秀才
日期:2015-09-09 10:33:01秀才
日期:2015-11-23 10:03:12秀才
日期:2015-11-23 10:03:12秀才
日期:2015-11-23 10:03:12状元
日期:2015-11-23 10:04:09举人
日期:2015-11-23 10:04:09秀才
日期:2016-01-06 14:10:21秀才
日期:2016-01-06 14:10:21秀才
日期:2016-01-06 14:10:21秀才
日期:2016-01-06 14:10:21
3#
发表于 2017-12-21 01:36 | 只看该作者
本帖最后由 newkid 于 2017-12-21 02:56 编辑

下载地址可以从主页进入。
我测试了一个简单的SQL:

SELECT * FROM TABLE_A
  WHERE XXX_ID IN ( SELECT XXX_ID FROM TABLE_B WHERE DML_TYPE IN ( 'D', 'A') );

所有设置都是缺省的。它花了30分钟尝试了500个SQL变种, 不同计划的有65种,这个感觉不是很智能,里面肯定有很多是做无用功。

最后结果只能够看前面30个SQL的写法,因为是免费版。如果你的最优SQL出现在第31个之后,那么很不幸你就看不见了。

使用道具 举报

回复
论坛徽章:
486
秀才
日期:2015-09-09 10:33:01秀才
日期:2015-11-23 10:03:12秀才
日期:2015-11-23 10:03:12秀才
日期:2015-11-23 10:03:12状元
日期:2015-11-23 10:04:09举人
日期:2015-11-23 10:04:09秀才
日期:2016-01-06 14:10:21秀才
日期:2016-01-06 14:10:21秀才
日期:2016-01-06 14:10:21秀才
日期:2016-01-06 14:10:21
4#
发表于 2017-12-21 01:38 | 只看该作者
本帖最后由 newkid 于 2017-12-21 02:55 编辑

我又测试了下 DBMS_SQLTUNE.EXECUTE_TUNING_TASK, 它两秒钟就做完了,告诉我 There are no recommendations to improve the statement

使用道具 举报

回复
认证徽章
论坛徽章:
0
5#
发表于 2017-12-21 09:24 | 只看该作者
newkid 发表于 2017-12-21 01:38
我又测试了下 DBMS_SQLTUNE.EXECUTE_TUNING_TASK, 它两秒钟就做完了,告诉我 There are no recommendations ...

我下载了,谢谢大神

Oracle DBMS_SQLTUNE
   优点: 速度快
   缺点: 很可能找不到更好的结果;

Tosska SQL Tuning Expert
   优点: 能找到更多的SQL写法;
   缺点: 花费时间比较长;

使用道具 举报

回复
论坛徽章:
20
ITPUB元老
日期:2005-02-28 12:57:002012新春纪念徽章
日期:2012-02-13 15:10:582012新春纪念徽章
日期:2012-02-13 15:10:582012新春纪念徽章
日期:2012-02-13 15:10:582012新春纪念徽章
日期:2012-02-13 15:10:58马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:142012新春纪念徽章
日期:2012-02-13 15:10:58
6#
 楼主| 发表于 2017-12-21 11:10 | 只看该作者
newkid 发表于 2017-12-21 01:36
下载地址可以从主页进入。
我测试了一个简单的SQL:

If you pick 3 out of 100 hints, there are up to 100x99x98 = 970200 possible SQL alternatives, the tool help you to narrow down to only hundreds of possible solutions.

使用道具 举报

回复
论坛徽章:
486
秀才
日期:2015-09-09 10:33:01秀才
日期:2015-11-23 10:03:12秀才
日期:2015-11-23 10:03:12秀才
日期:2015-11-23 10:03:12状元
日期:2015-11-23 10:04:09举人
日期:2015-11-23 10:04:09秀才
日期:2016-01-06 14:10:21秀才
日期:2016-01-06 14:10:21秀才
日期:2016-01-06 14:10:21秀才
日期:2016-01-06 14:10:21
7#
发表于 2017-12-21 22:47 | 只看该作者
HINTS是有很多,但是大部分是不常用的,我们也不会傻傻的全去尝试。像这个简单的SQL,500个变种也是在是太多了,实际使用中需要调优的SQL往往非常复杂,那么可想而知其变种会是个多么庞大的数字。我曾经问过你的取舍规则是什么,这可能涉及到商业机密所以没有答复,但是你至少要给个令人信服的说法。
此外这个试用版的限制也减少了这个工具的吸引力,我要是看不到令我满意的结果,是没有兴趣继续用的。你可以考虑不限功能但限制试用天数的办法。
我建议你创造几个实用案例,从CREATE TABLE, INSERT, GATHER STATS 脚本开始,证明CBO和 TUNING ADVISOR 如何有盲点,选择了不够优化的计划,而你的工具又如何找到了比它们更好的计划,这样才能真正宣传你这个工具的亮点。

使用道具 举报

回复
论坛徽章:
20
ITPUB元老
日期:2005-02-28 12:57:002012新春纪念徽章
日期:2012-02-13 15:10:582012新春纪念徽章
日期:2012-02-13 15:10:582012新春纪念徽章
日期:2012-02-13 15:10:582012新春纪念徽章
日期:2012-02-13 15:10:58马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:142012新春纪念徽章
日期:2012-02-13 15:10:58
8#
 楼主| 发表于 2017-12-22 11:53 | 只看该作者
newkid 发表于 2017-12-21 22:47
HINTS是有很多,但是大部分是不常用的,我们也不会傻傻的全去尝试。像这个简单的SQL,500个变种也是在是太 ...

You can try more SQL or even more complex SQL. The good solution may be in the first 30 alternatives, you can use it for free. It is not fair to create our own database to prove our concept. People should test it in their environment. If a tool is good in specific environment, but not applicable in another, it is not a good tool.
For hints selection and permutation algorithm, yes, it is confidential and I have spent a lot of time on it and it is also not easy to tell in a few sentences.   

使用道具 举报

回复
论坛徽章:
486
秀才
日期:2015-09-09 10:33:01秀才
日期:2015-11-23 10:03:12秀才
日期:2015-11-23 10:03:12秀才
日期:2015-11-23 10:03:12状元
日期:2015-11-23 10:04:09举人
日期:2015-11-23 10:04:09秀才
日期:2016-01-06 14:10:21秀才
日期:2016-01-06 14:10:21秀才
日期:2016-01-06 14:10:21秀才
日期:2016-01-06 14:10:21
9#
发表于 2017-12-22 23:41 | 只看该作者
你这个工具的开发难度是相当高的,所以才要好好宣传,而最好的宣传就是成功案例,你在开发过程中一定积累不少。你真的需要找个会“讲故事”的伙伴,不一定需要讲出你的核心秘密,就像CBO的很多奥秘也没有公开,但是ORACLE也透露了很多原理,搞技术的人对这些比较感兴趣。
如果让用户自己去发现,我想有那个耐心的人并不多,因为跑一次要那么久,后面花那么多时间找出来的SQL又看不见,能得到理想结果完全凭运气。
你还提到了不同环境的问题,用户自己就有很多环境,而同一个SQL是要适应这些不同环境的,CBO可能会在不同环境生成不同的计划。如果用HINTS固定,那么计划可能就僵化了。TOM的观点是反对使用HINTS的,它是调优的最后选择,不是常规手段。

使用道具 举报

回复
论坛徽章:
20
ITPUB元老
日期:2005-02-28 12:57:002012新春纪念徽章
日期:2012-02-13 15:10:582012新春纪念徽章
日期:2012-02-13 15:10:582012新春纪念徽章
日期:2012-02-13 15:10:582012新春纪念徽章
日期:2012-02-13 15:10:58马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:142012新春纪念徽章
日期:2012-02-13 15:10:58
10#
 楼主| 发表于 2017-12-25 10:57 | 只看该作者
Good idea, I will try to write up something to show the power of the product.
Here is an example shows you what we have done.
You can see how our product works for this SQL, I am not going to discuss what happened to this SQL, but you will find that it is not something that a human expert will do.
The engine is not telling Oracle how to optimize this SQL, it just tell Oracle not to do something and still give Oracle certain space to select better query plan.

Original SQL(8.56 seconds):

select rownum,
       a.*
  from (select sum(emps_salary),
               dpts_name
          from employees,
               departments
         where emps_dept = dpts_id
         group by dpts_name
         order by sum(emps_salary) desc) a
where rownum < 10


The best SQL(2.49 seconds):



Select /*+ QB_NAME(QB1) NO_INDEX(@QB2 EMPLOYEES EMPSS_GRADE_INX) NO_USE_HASH(@QB2 DEPARTMENTS) PARALLEL_INDEX(@QB2 EMPLOYEES) */ rownum,
a.*
From (Select /*+ QB_NAME(QB2) */ sum(emps_salary),
dpts_name
From employees,departments
Where emps_dept = dpts_id
group by dpts_name
Order by sum(emps_salary) desc) a
Where rownum < 10

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则

DTCC2018购票6.8折优惠进行时

中国数据库技术大会是国内数据库及大数据领域规模最大、最受欢迎的技术交流盛会。 2018年5月10-12日,第九届中国数据库技术大会将如约而至。本届大会以“数领先机•智赢未来”为主题,设定2大主会场及20个技术专场,邀请来自国内外互联网、金融、教育等行业百余位技术专家,共同探讨Oracle、MySQL、NoSQL、大数据等领域的前瞻性热点话题与技术。
----------------------------------------
优惠时间:2018年2月13日前

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档 |
  | | |
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 网站律师 隐私政策 知识产权声明
 北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表
北京赛车pk10 申博官网 北京赛车pk10 六台宝典现场开奖 北京赛车pk10历史记录 北京赛车开奖 北京赛车预测 949494开奖结果今晚 威尼斯人线上娱乐 手机投注平台 幸运28投注技巧 pk10助赢软件 北京pk10百度鼎盛彩票网 北京赛车聚彩 北京pk10如何稳杀3码 pk10稳赢方法 pk10定位计划 pk10包赢计划群