问题描述
嗨,
问题1)
我们可以看到ansi外部连接比传统连接花费更多的时间,当我检查解释计划时,ansi连接的成本更高,并且它使用不同的连接方法。
我的客户只想使用ansi join,请为我提供解决方案。为什么它会这样。
我们是否需要为ansi join设置任何参数以与传统join相同的方式运行。
我们在ansi联接中的查询运行300秒,而传统联接在10秒内运行。
问题2)
我们有查询有外部连接与acessing远程数据库,这个查询运行了很长时间,没有返回输出,对于临时解决方案,我们做了基线和使用返回o/p的最佳计划。请告知您必须为此做些什么。
我们只使用传统的连接。
问候,
玛格什
问题1)
我们可以看到ansi外部连接比传统连接花费更多的时间,当我检查解释计划时,ansi连接的成本更高,并且它使用不同的连接方法。
我的客户只想使用ansi join,请为我提供解决方案。为什么它会这样。
我们是否需要为ansi join设置任何参数以与传统join相同的方式运行。
我们在ansi联接中的查询运行300秒,而传统联接在10秒内运行。
问题2)
我们有查询有外部连接与acessing远程数据库,这个查询运行了很长时间,没有返回输出,对于临时解决方案,我们做了基线和使用返回o/p的最佳计划。请告知您必须为此做些什么。
我们只使用传统的连接。
问候,
玛格什
专家解答
“对于临时解决方案,我们做了基线”
不知道为什么您认为这是一个临时解决方案-这正是基线的预期用例之一。
要改进ANSI联接示例,请考虑将传统语法的良好计划与ANSI联接计划的良好计划进行转换。Nigel Bayliss (优化器产品经理) 白皮书中有关如何使用基线进行操作的步骤很不错。
http://www.oracle.com/technetwork/database/bi-datawarehousing/twp-sql-plan-mgmt-12c-1963237.pdf
简而言之,它始于第18页
-坏sql的加载计划
-将其设置为禁用
-提示sql的加载计划 (提示使其根据需要运行)
-将好的计划与坏的sql的 “句柄” 匹配
另外,请与支持人员记录通话,以便他们可以记录有关此错误的信息,并且我们可以不断改进优化器对ANSI联接的处理方式
不知道为什么您认为这是一个临时解决方案-这正是基线的预期用例之一。
要改进ANSI联接示例,请考虑将传统语法的良好计划与ANSI联接计划的良好计划进行转换。Nigel Bayliss (优化器产品经理) 白皮书中有关如何使用基线进行操作的步骤很不错。
http://www.oracle.com/technetwork/database/bi-datawarehousing/twp-sql-plan-mgmt-12c-1963237.pdf
简而言之,它始于第18页
-坏sql的加载计划
-将其设置为禁用
-提示sql的加载计划 (提示使其根据需要运行)
-将好的计划与坏的sql的 “句柄” 匹配
另外,请与支持人员记录通话,以便他们可以记录有关此错误的信息,并且我们可以不断改进优化器对ANSI联接的处理方式
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。