加入收藏 | 设为首页 | 会员中心 | 我要投稿 宁德站长网 (https://www.0593zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

如何是SQL Profile

发布时间:2021-12-21 12:11:26 所属栏目:MySql教程 来源:互联网
导读:本篇内容主要讲解怎么是SQL Profile,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习怎么是SQL Profile吧! SQL Profile是什么 SQL Profile是我非常喜欢的一个技术,通过它可以在不修改SQL语句的情况下,为SQL绑
本篇内容主要讲解“怎么是SQL Profile”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么是SQL Profile”吧!
 
SQL Profile是什么
SQL Profile是我非常喜欢的一个技术,通过它可以在不修改SQL语句的情况下,为SQL绑定任何需要的hint,与SQL代码是分离的,而且相对Baseline、outline来说,操作步骤简单,如果使用熟练可以在极短的时间内修正一个查询语句的执行计划,我已经在多个场合使用SQL Profile解决了数据库的性能问题。SQL Profile是ORACLE 10G出现的一个功能,SQL Profile在Oracle文档中被描述为作为SQL Tuning Advisor的一部分,只能通过SQL Tuning Advisor来使用,一般是通过运行SQL Tuning Advisor的JOB,JOB运行结束后可以查看SQL Tuning Advisor给出的优化建议,这些建议里可能会包含让DBA采用SQL Profile(hint的集合),作为ORACLE 10G后提供的新功能,DBA可以将SQL调优的工作交给SQL Tuning Advisor来做。正常情况下,一个SQL语句交给SQL 优化器后,优化器需要在非常短的时间内,给出解析结果,但是SQL Tuning Advisor却不同,它为了产生一个高效的执行计划,可能会花费很长的时间。进一步讲,它还会使用一些非常耗时的技术如Wath-If 分析,并加强对动态采样技术的利用来核实优化器的估计值。SQL Tuning Advisor的任务是分析SQL语句并建议如何使用一些方法来提高语句的性能,包括收集遗漏或过时的对象统计信息,创建新索引,改变SQL语句或者采用SQL Profile。按照官方的说法,SQL Profile只能通过SQL Tuning Advisor来使用,但是本节后面的几个章节都会使用手工创建SQL Profile的方式来告诉读者如何更快速的使用、创建SQL Profile,但是手工创建SQL Profile并不被ORACLE技术支持所支持。
 
SQL Profile在10G和11G默认是被打开的,可以通过设置参数SQLTUNE_CATEGORY为false来关闭SQL Profile。每个SQL Profile都被放置在一个特定的category中,可以在创建SQL Profile时指定category的值,如果不指定会被放在SQLTUNE_CATEGORY为defualt的category中。如果SQLTUNE_CATEGORY的值被设置为非default的值,那么只有SQL Profile的category的值为参数SQLTUNE_CATEGORY设置值的才会生效。
 
n Note:SQL Profile可以为SQL语句添加任何hint,例如:bind_aware这个hint并不能通过SQL Baseline起作用,但是可以通过SQL Profile起作用。因为SQL Profile作为一种基于hint修正SQL执行计划的机制,做的比较傻瓜化,它仅仅是把hint应用到特定签名的SQL上,不会做其他校验,SQL Baseline不仅仅只是应用hint,还需要做plan_hash_value值的计算校验,因此对于bind_aware这种hint并不能对SQL Baseline起作用,因为这个hint会导致执行计划的不稳定性,而Baseline创建的时候是跟具体的plan_hash_value挂钩的,不能与这种具有不稳定性的hint挂钩。
 
n SQL Profile可以在DataGuard中使用,也就是说在主库创建SQL Profile后,备库可以自动使用到在主库上创建的SQL Profile,但是Baseline不能在DataGuard中使用。
 
到此,相信大家对“怎么是SQL Profile”有了更深的了解,不妨来实际操作一番吧!

(编辑:宁德站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读