加载中
80-分页查询,不止写法

据孔老先生说,茴香豆的茴字有四种写法,那oracle的分页查询又有多少种写法呢? 分页查询,其实本质上就是topN查询的变种, 如果把topN的一部分结果集去掉,就变成了分页. topN的基本写法,两层sel...

详细大纲版:oracle优化培训之<SQL写法与改写>第二期

预告: 下一次培训主要面向DBA, 讲一下ora工具的用法与用途,大概需要一天时间. 第一期的SQL写法与改写培训已经过去近5个月,相信很多学员已经掌握了大部分精髓,课后大家在微信群又分享和讨论了...

培训通知: oracle优化培训之<SQL写法与改写>第二期

第一期的SQL写法与改写培训已经过去近5个月,相信很多学员已经掌握了大部分精髓,课后大家在微信群又分享和讨论了一些案例,加深了培训内容的理解。 我的业务不是只有培训,对客户生产系统做性能...

第一篇 热身--隐式类型转换还是其他?

前几天,有个给运营商做维护的DBA小陈问: 刘老师,我这个SQL不能使用索引,你帮我确认一下,是不是遇到了“隐式类型转换”?然后发了一个执行计划的最后部分给我看: Peeked Binds (identi...

区间检索SQL性能优化方法

几年前,有朋友让我帮忙优化一个SQL:根据IP地址查询对应的国家/地区(根据号码查询归属地也属类似业务)。 SQL代码如下: Select country_code From COUNTRY_IP_RANGE IP WHERE IP.Start_Ip...

优化了一半的SQL

某次在给某知名通讯设备供应商做性能优化,快接近尾声的时候,偶然发现一个不是很TOP的TOP sql(一般刘老师会收集AWR 的TOP 50 sql,默认只有大概20个)使用了Hint,而其他SQL基本上都没有使...

SQL 使用like '%ABC' 和 like '%ABC%'的优化

一般情况下,sql中使用col_name like 'ABC%‘的情况才能使用到col_name字段上的索引,这种情况不再赘述。 如果是col_name like '%ABC%'的情况,能否使用索引,怎样才能使用索引? 答案是:可...

生产系统SQL执行计划突然变差怎么办?

由于各种各样的原因,DBA有时会遇到SQL执行计划突然变差的情况,导致CPU和IO资源消耗过高,整个系统性能下降。 很多人遇到这种情况的通常做法是,立即收集表的统计信息,让优化器重新对SQL做...

误用append案例一则

这是某客户关键系统的一个TOP SQL: INSERT INTO /*+ append */ TF_B_OCS_BATDEAL (...... ) SELECT F_SYS_GETSEQID(EPARCHY_CODE, 'batch_id') ...... FROM TF_F_USER B WHERE B.REMOVE_TA...

使用 Order by 与 rownum SQL 优化案例一则

这是某客户AWR报告中的一个TOP SQL,执行时间8.8小时(也有执行12.7小时报错退出的情况) SELECT * FROM ( SELECT rownum num ,t.* FROM TI_BI_CAMPN_USERORDER_TEMP t WHERE oper_type = '...

修改隐含参数造成SQL性能下降案例之一

在某客户现场发现了一个执行了很长时间(15.8小时)仍未执行完的SQL,而且SQL使用了8个并行进程: SQL代码如下: SELECT /*+ PARALLEL(a,8)*/ count(: "SYS_B_0") FROM so1.ins_srv_attr_78...

修改隐含参数造成SQL性能下降案例之二

客户发来这样一条执行时间 1.3小时的SQL 想做优化: SQL代码: INSERT INTO HWDW.TW_CI_SIM_RES ( ...... ) SELECT ...... FROM HWODS.TO_CI_I91822 S -----大表 ,( SELECT PHONE_NO,TD_PHON...

再谈SQL profile : 到底能不能固定执行计划?

在我发布了使用coe_load_sql_profile.sql脚本可以解决生产系统执行计划突然变差的文章后,第二天刚好又看到一篇文章:《执行计划:Oracle的Profile特性与SQL执行计划的稳定性》,文章专门对s...

从11小时到25秒--还有优化空间吗?

2015年5月的一天,客户发来邮件请求帮助:一个SQL执行需要11个小时,执行计划中使用nested loops好像效率差了些,能不能用hint让优化器使用hash join,用use_hash 的 hint好像没生效? 下面是...

隐式数据类型转换案例一则

在OLTP系统中,要求对频繁执行的SQL使用绑定变量(唯一值少的字段,如type、status等,数据分布不均是常见情况,这种字段不建议使用绑定变量)。 在使用绑定变量时,有时开发人员对使用的字段...

Local index or Global index?

某物流客户系统查询快递单的SQL,IO消耗为TOP 1: SQL代码如下: select id, op_code, to_char(create_time, :"SYS_B_1") as create_time, …… from T_EXP_OP_RECORD_CONTAINER A where sta...

新建的索引解决了问题,结论真的对吗?

今天这个案例相对比较简单,算是对基本原理的一个加强理解吧。 客户提供了一份其他公司做的优化报告,其中有个SQL确实是完成了优化,优化的结果也不错,但是给出的优化理由却是不准确的。 下...

多表使用use_hash hint,你写对了吗?

oracle的online document里面,对use_hash的hint语法是这样描述的: http://docs.oracle.com/cd/E16338_01/server.112/b56299/img_text/use_hash_hint.htm : /*+ USE_HASH ( [ @ querybloc...

欲善其事必利其器-SQL性能分析工具sqlhc简单介绍

今天是周末,看点不烧脑的内容。 sqlhc是老虎刘最常用的SQL优化工具,没有之一。 这个工具在oracle 的 MOS网站可以下载,原压缩包里面有3个文件,老虎刘一般只用sqlhc.sql一个文件。 sqlhc是...

修改隐含参数造成SQL性能下降案例之三

周末,继续放轻松,了解点常识。 经常在客户的生产系统发现_gby_hash_aggregation_enabled 这个参数被设置成false,对于一般的中小系统,数据量相对较少,这个参数的影响不会太大。如果数据量...

没有更多内容

加载失败,请刷新页面

返回顶部
顶部