楼主: olive

[精华] 如何解决不同SQL之间的性能冲突?

[复制链接]
论坛徽章:
3
ITPUB元老
日期:2005-02-28 12:57:00授权会员
日期:2005-10-30 17:05:33会员2006贡献徽章
日期:2006-04-17 13:46:34
61#
发表于 2002-4-29 15:03 | 只看该作者
谢谢大家了!又学了一招!
哈哈

使用道具 举报

回复
论坛徽章:
3
授权会员
日期:2005-10-30 17:05:33ITPUB十周年纪念徽章
日期:2011-11-01 16:19:412012新春纪念徽章
日期:2012-01-04 11:49:54
62#
发表于 2002-4-29 15:26 | 只看该作者

Re: 全部运行完了

最初由 olive 发布
[B]和CBO(约7秒)还是有相当的距离啊。[/B]

不应该的, 你确认不是因为限额满才停止的优化吗?


最初由 olive 发布
[B]我大致看了一下它产生的那么多语句,好像都没有加hint?只是调整了子句的顺序。 [/B]

是这样的, 假设语句A和B的Plan一样, A加hint,B改写法, 如果B的改动量小于A则选择B显示. 所以产生了很多加Hint的,但是没显示出来.

使用道具 举报

回复
论坛徽章:
95
秀才
日期:2015-10-08 17:57:58法拉利
日期:2013-12-30 15:11:23问答徽章
日期:2013-12-26 12:24:32优秀写手
日期:2013-12-18 09:29:13本田
日期:2013-12-09 10:02:28兰博基尼
日期:2013-11-18 17:44:52宝马
日期:2013-11-06 11:34:13雪佛兰
日期:2013-11-01 18:36:15宝马
日期:2013-10-25 08:22:20路虎
日期:2014-01-20 14:09:03
63#
 楼主| 发表于 2002-4-29 15:55 | 只看该作者

鹦鹉学到了什么?

你学到了一招什么?可不可以共享?

使用道具 举报

回复
论坛徽章:
95
秀才
日期:2015-10-08 17:57:58法拉利
日期:2013-12-30 15:11:23问答徽章
日期:2013-12-26 12:24:32优秀写手
日期:2013-12-18 09:29:13本田
日期:2013-12-09 10:02:28兰博基尼
日期:2013-11-18 17:44:52宝马
日期:2013-11-06 11:34:13雪佛兰
日期:2013-11-01 18:36:15宝马
日期:2013-10-25 08:22:20路虎
日期:2014-01-20 14:09:03
64#
 楼主| 发表于 2002-4-29 15:59 | 只看该作者

to deepblue

原来如此,但是应该怎么改限额?我看到有许多限额,如果在optimization intelligence里面选custom,就可以改了,比如rules search quota, hits quota ratio, table join permutation quota等,但是应该怎么改?遵循什么原则?

使用道具 举报

回复
论坛徽章:
86
ITPUB元老
日期:2005-02-28 12:57:002012新春纪念徽章
日期:2012-01-04 11:49:542012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:20咸鸭蛋
日期:2012-05-08 10:27:19版主8段
日期:2012-05-15 15:24:112013年新春福章
日期:2013-02-25 14:51:24
65#
发表于 2002-4-29 16:10 | 只看该作者

hehe

加0或者用 ||''   就是强制指定不使用索引(字段进行了运算)
跟一些hints具有一样的效果

偶觉得,应该人工分析表和数据,
找出一些一定要首先连接的表,
在人工强制返回一些结果集的基础上再优化

楼上也有朋友说过了
呵呵
不过你的语句能跑完很幸运了
以前我扔一个语句进去
光分析语法就消耗了好几个小时占用了快80M内存
进度条刚走一半不到
cpu占用95以上
我怒了就终止了

后来给sql expert 的开发者提过意见

是个香港人,年纪很大了
介绍他来过这个坛子发言过几次
可惜现在没有踪影了

使用道具 举报

回复
论坛徽章:
86
ITPUB元老
日期:2005-02-28 12:57:002012新春纪念徽章
日期:2012-01-04 11:49:542012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:20咸鸭蛋
日期:2012-05-08 10:27:19版主8段
日期:2012-05-15 15:24:112013年新春福章
日期:2013-02-25 14:51:24
66#
发表于 2002-4-29 16:12 | 只看该作者

他学到了什么?

我猜是 +0  and   || ''

是不是?hehe

使用道具 举报

回复
论坛徽章:
3
ITPUB元老
日期:2005-02-28 12:57:00授权会员
日期:2005-10-30 17:05:33会员2006贡献徽章
日期:2006-04-17 13:46:34
67#
发表于 2002-4-29 16:43 | 只看该作者
看他自动产生的SQL最后一句话AND tdelpnt.prprty_nb = tprpacc.prprty_nb + 0
和实际逻辑的tdelpnt.prprty_nb = tprprty.nb and
是不同的,咋一看好象有问题
其实已经有AND tprprty.nb = tprpacc.prprty_nb
所以prprty_nb 和tprprty.nb可以互相交换的
这样就有更多的sql组合了
优化时不必局限于逻辑

使用道具 举报

回复
论坛徽章:
95
秀才
日期:2015-10-08 17:57:58法拉利
日期:2013-12-30 15:11:23问答徽章
日期:2013-12-26 12:24:32优秀写手
日期:2013-12-18 09:29:13本田
日期:2013-12-09 10:02:28兰博基尼
日期:2013-11-18 17:44:52宝马
日期:2013-11-06 11:34:13雪佛兰
日期:2013-11-01 18:36:15宝马
日期:2013-10-25 08:22:20路虎
日期:2014-01-20 14:09:03
68#
 楼主| 发表于 2002-4-29 16:46 | 只看该作者

可能是的

我上午是用sql expert的默认quota,很快就出来结果,刚才我加大了quota(但是我不知道加quota有什么准则?那几个参数应该怎样调整?可否告知。我现在是乱调),现在还没出结果,93%,慢得很。内存目前占用了124M,还在涨。

使用道具 举报

回复
论坛徽章:
3
授权会员
日期:2005-10-30 17:05:33ITPUB十周年纪念徽章
日期:2011-11-01 16:19:412012新春纪念徽章
日期:2012-01-04 11:49:54
69#
发表于 2002-4-29 16:50 | 只看该作者
to Olive:

rules search quota  1000
table join permutation Quota  800
再试下, 还不够,再加

使用道具 举报

回复
论坛徽章:
3
授权会员
日期:2005-10-30 17:05:33ITPUB十周年纪念徽章
日期:2011-11-01 16:19:412012新春纪念徽章
日期:2012-01-04 11:49:54
70#
发表于 2002-4-29 16:55 | 只看该作者

Re: hehe

最初由 biti_rainy 发布
[B]不过你的语句能跑完很幸运了
以前我扔一个语句进去
光分析语法就消耗了好几个小时占用了快80M内存
进度条刚走一半不到
cpu占用95以上
[/B]


快慢取决于:
1.本地CPU速度,Memory
2.SQL 复杂度
3.database Server速度
4.选取的hints和限额(参数设置).

10几个小时的都会有, 比人手做几天强多了, 人做还未必能找到较佳的.

使用道具 举报

回复

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

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表