仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 924|回复: 8
打印 上一主题 下一主题

[学习教程] MYSQL网站制作之ORACLE SQL功能优化系列 (六)

[复制链接]
莫相离 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:38:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
一个相关的问题是第三方支持的资格问题,尽管直接来自厂商的支持和服务可以一定程度上减缓这个问题,但是,对于有的企业来说,通过强有力的本地化支持显然更有吸引力。oracle|功能|优化
20.用表毗连交换EXISTS



一般来讲,接纳表毗连的体例比EXISTS更无效率

SELECTENAME

FROMEMPE

WHEREEXISTS(SELECT‘X’

FROMDEPT

WHEREDEPT_NO=E.DEPT_NO

ANDDEPT_CAT=‘A’);



(更高效)

SELECTENAME

FROMDEPTD,EMPE

WHEREE.DEPT_NO=D.DEPT_NO

ANDDEPT_CAT=‘A’;



(译者按:在RBO的情形下,前者的实行路径包含FILTER,后者利用NESTEDLOOP)



21.用EXISTS交换DISTINCT

当提交一个包括一对多表信息(好比部门表和雇员表)的查询时,制止在SELECT子句中利用DISTINCT.一样平常能够思索用EXIST交换



比方:

低效:

SELECTDISTINCTDEPT_NO,DEPT_NAME

FROMDEPTD,EMPE

WHERED.DEPT_NO=E.DEPT_NO

高效:

SELECTDEPT_NO,DEPT_NAME

FROMDEPTD

WHEREEXISTS(SELECT‘X’

FROMEMPE

WHEREE.DEPT_NO=D.DEPT_NO);



EXISTS使查询更加敏捷,由于RDBMS中心模块将在子查询的前提一旦满意后,立即前往了局.



22.辨认’低效实行’的SQL语句



用以下SQL工具找出低效SQL:



SELECTEXECUTIONS,DISK_READS,BUFFER_GETS,

ROUND((BUFFER_GETS-DISK_READS)/BUFFER_GETS,2)Hit_radio,

ROUND(DISK_READS/EXECUTIONS,2)Reads_per_run,

SQL_TEXT

FROMV$SQLAREA

WHEREEXECUTIONS>0

ANDBUFFER_GETS>0

AND(BUFFER_GETS-DISK_READS)/BUFFER_GETS<0.8

ORDERBY4DESC;



(译者按:固然今朝各类关于SQL优化的图形化工具层见叠出,可是写出本人的SQL工具来办理成绩一直是一个最好的办法)



23.利用TKPROF工具来查询SQL功能形态



SQLtrace工具搜集正在实行的SQL的功能形态数据并纪录到一个跟踪文件中.这个跟踪文件供应了很多有效的信息,比方剖析次数.实行次数,CPU利用工夫等.这些数据将能够用来优化你的体系.



设置SQLTRACE在会话级别:无效



ALTERSESSIONSETSQL_TRACETRUE



设置SQLTRACE在全部数据库无效仿,你必需将SQL_TRACE参数在init.ora中设为TRUE,USER_DUMP_DEST参数申明了天生跟踪文件的目次



(译者按:这一节中,作者并没有提到TKPROF的用法,对SQLTRACE的用法也不敷正确,设置SQLTRACE起首要在init.ora中设定TIMED_STATISTICS,如许才干失掉那些主要的工夫形态.天生的trace文件是不成读的,以是要用TKPROF工具对其举行转换,TKPROF有很多实行参数.人人能够参考ORACLE手册来懂得详细的设置.)
MySQL对硬件的较低要求是其最大的优势之一,不过需要注意的是:内存越多越好,因为所有的重要数据存储都在内存中完成。
飘灵儿 该用户已被删除
沙发
发表于 2015-1-19 20:08:53 | 只看该作者
多加的系统视图和实时系统信息这些东西对DBA挑优非常有帮助,但是感觉粒度还是不太细。
板凳
发表于 2015-1-27 08:37:39 | 只看该作者
多走走一此相关论坛,多看一些实例开发,多交流0经验,没什么的,我也是刚学没多久!加油
再现理想 该用户已被删除
地板
发表于 2015-2-5 05:36:03 | 只看该作者
代替了原来VB式的错误判断。比Oracle高级不少。
admin 该用户已被删除
5#
发表于 2015-2-11 06:02:44 | 只看该作者
比如,MicrosoftSQLServer2008的某一个版本可以满足现在的这个业务的需要,而且价格还比Oracle11g要便宜,那么这一产品就是适合的。
只想知道 该用户已被删除
6#
发表于 2015-3-1 22:59:17 | 只看该作者
多加的系统视图和实时系统信息这些东西对DBA挑优非常有帮助,但是感觉粒度还是不太细。
兰色精灵 该用户已被删除
7#
发表于 2015-3-11 00:34:42 | 只看该作者
SP4是一个累积性的ServicePack,包含自以前的ServicePack发布以来所有的修补程序(包括MS03-031安全公告)。
活着的死人 该用户已被删除
8#
发表于 2015-3-17 17:08:32 | 只看该作者
这一点很好的加强了profiler的功能。但是提到profiler提醒大家注意一点。windows2003要安装sp1补丁才能启动profiler。否则点击没有反应。
莫相离 该用户已被删除
9#
 楼主| 发表于 2015-3-24 13:46:20 | 只看该作者
比如,MicrosoftSQLServer2008的某一个版本可以满足现在的这个业务的需要,而且价格还比Oracle11g要便宜,那么这一产品就是适合的。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-6 12:20

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表