CONCATENATION 引发的性能问题】的更多相关文章

背景是在一台11gR2的机器上,开发反映一个批处理比以前慢了3倍.经过仔细查看该SQL的执行计划,发现由于SQL中使用了or,导致CBO走出了一个非常糟糕的CONCATENATION路径. no_expand提示的说明是 The NO_EXPAND hint prevents the cost-based optimizer from considering OR-expansion for queries having OR conditions or IN-lists in the WHER…
日常写SQL中可能会有一些小细节忽略了导致整个sql的性能下降了好几倍甚至几十倍,几百倍.以下这个示例就是mysql语句中的一个单引号('')引发的性能耗损,我相信很多朋友都遇到过,甚至还在这样写. 先看下我的表结构: CREATE TABLE `d_sku` ( `id` varchar() NOT NULL, `commodity_id` varchar() DEFAULT NULL, `counts` ) DEFAULT NULL, `price` ,) DEFAULT NULL, `st…
在企业用户环境里,.NET Serviced Component使用广泛.它比较好的把传统COM+封装和.NET应用逻辑衔接了起来,在服务器端应用起到重要作用..NET Serviced Component 的使用需要注意到很多方面,特别是要做到对象资源合理应用(pooling)和及时释放(Dispose).现有文章就这方面有很多具体讨论. 在这里,我要分析的是一种以前处理过的特定情况下.NET Serviced Component的引发的High CPU的问题.不只一个客户遇到此类问题,觉得有…
关键代码拆解成如下图所示(无关部分已省略): 起初我认为可能是这个 getRowDataItemNumberFormat 函数里面某些方法执行太慢,从 formatData.replace 到 unescape(已废弃,官方建议使用 decodeURI 或者 decodeURIComponent 替代) 方法都怀疑了一遍,发现这些方法都不是该函数运行慢的原因.为了深究原因,我给 style.formatData 传入了不同的值,发现这个函数的运行效率出现不同的表现.开始有点疑惑为什么 style…
最近有个项目用loadrunner做了压力测试,发现并发量还不到200服务器就支撑不住了.boss那边紧急开会,说此项目最近3个月内将有100家中大型公司用于校园招聘工作,如果这个问题不解决公司有可能玩完.于是紧急动员,当晚重启压力测试,力争把问题解决. 由于之前测试部门做压力测试的时候我不在场,所以今天测试的时候先让他们演示的一遍,当loadrunner跑到100的时候,问题出来了,网站访问开始变慢,计数器webservice/current connections急剧上升,直到1000左右,…
为了调试一个功能,在一个内核模块中,增加了一个全局变量,用来统计自有skb池的申请情况. 因为是临时增加,所以没有考虑性能,一开始只是一个fail的统计,数量不多,也不太考虑是否有计数丢失的情况,毕竟那个卖火车票的例子已经让很多人知道了并发导致的计数丢失. 因为只是一个简单统计,这样做无可厚非. 后来有人维护的时候,增加了一个success的统计,结果发现增加该变量前后cpu占用增加了一个点.为了排除是伪共享的行为,我将两个变量中间增加了一些reserve的空间,结果还是如此.去掉success…
刚入职一互联网公司,项目正好处于计划上线的时间,由于公司前不久已经购买了rds服务,领导决定尝试一番! 当然,新事物.云事物还是要谨慎的.安排我先把测试环境数据库迁移上去,这里吐槽一下,往rds迁移一个比较大的 数据库是比较恶心的.2种方式: 1.数据迁移功能 结论:看似很好用,效率极慢,是通过访问你的数据库一点点同步数据的.强烈不推荐 2.使用rds配套的管理平台 结论:文件限制一百兆,幸好支持压缩文件.导入233M数据耗时121229,也就是121秒,貌似还可以.但是 其他功能确实比较鸡肋.…
最近某客户的核心业务系统又出了翻译缓慢的情况.该问题在6月份也出现过,当时进行了一次调整. 我们首先来看下故障时间段的awr报告: 单纯的从TOP 5 event,基本上是看不出任何东西的,可能有人会说这里log file sync等待不是有点高了吗? 实事求是的讲,12ms确实超过 正常情况的值,但是也不算高,通常遇到log file sync等待之后,我们应该去看下log file parallel write? 的确,这是大家的常规思路: 我们可以看到,log file parallel…
测试环境:Ubuntu16.04(在VMWare虚拟机使用perf top存在无法显示问题) Kernel:3.13.0-32 系统级性能优化通常包括两个阶段:性能剖析(performance profiling)和代码优化.性能剖析的目标是寻找性能瓶颈,查找引发性能问题的原因及热点代码.代码优化的目标是针对具体性能问题而优化代码或编译选项,以改善软件性能. 在性能剖析阶段,需要借助于现有的profiling工具,如perf等.在代码优化阶段往往需要借助开发者的经验,编写简洁高效的代码,甚至在汇…
表大小 SQL> select count(*) from agent.TB_AGENT_INFO; COUNT(*) ---------- 1751 SQL> select count(*) from TB_CHANNEL_INFO ; COUNT(*) ---------- 1807 SQL> select count(*) from TB_USER_CHANNEL; COUNT(*) ---------- 7269 SQL> select count(*) from OSS_…