
Performance Tuning
文章平均质量分 66
Zhu_Julian
这个作者很懒,什么都没留下…
展开
-
[Oracle] 一个通过添加本地分区索引提高SQL性能的案例
今天接到同事求助,说有一个select query,在Oracle上要跑一分多钟,他希望能在5s内出结果,该sql如下:Select /*+ parallel(src, 8) */ distinct src.systemname as systemname , src.databasename as databasename , src.tablename as tabl原创 2013-05-14 20:21:19 · 2094 阅读 · 0 评论 -
[Oracle] 把表和索引放在不同的表空间里
Oracle中并没有区分表空间里放的是表还是索引,所有当数据量比较小时,完全可以把表和索引放在同一个表空间里,但随着数据量的增大,最好还是把表和索引分开存储在不同的表空间里,因为:1)提高性能:尽量把表和索引的表空间存储在不同在磁盘上,把两类不同IO性质的数据分开放,这样可以提高磁盘的IO总体性能;2)便于管理:试想一下,如果索引的数据文件损坏,只要创建索引即可,不会引起数据丢失的问题。原创 2013-07-13 02:58:31 · 9763 阅读 · 2 评论 -
[Oracle] 获取执行计划的几种方法
1. 预估执行计划 - Explain PlanExplain plan以SQL语句作为输入,得到这条SQL语句的执行计划,并将执行计划输出存储到计划表中。首先,在你要执行的SQL语句前加explain plan for,此时将生成的执行计划存储到计划表中,语句如下:explain plan for SQL语句然后,在计划表中查询刚刚生成的执行计划,语句如下:s原创 2013-06-14 20:41:28 · 4770 阅读 · 0 评论 -
[Oracle] 探讨分区(3) - 分区与性能
在实际工作中,常听到初学者说:“大表分区肯定可以提高查询性能”。其实不然,在你完全不了解应用的情况下,盲目的建立分区不但不能够提高查询性能,还有可能导致查询性能下降。因此,在决定是否使用分区之前,必须了解当前的应用环境。大体上来说,数据库的应用分为两种:OLTP和OLAP。OLTP是指在线事务处理,比如淘宝的购物网站等;OLAP是指在线分析系统,如数据仓库、数据集市等。实际应用中,也有原创 2013-06-13 09:22:00 · 3227 阅读 · 0 评论 -
[Oracle] 性能调优实例 - read by other session
这今天每天下午3点,开发人员反应Oracle慢,第一等待事件是read by other sessionTop 5 Timed Foreground EventsEventWaitsTime(s)Avg wait (ms)% DB timeWait Classread by other sess原创 2014-01-24 15:48:55 · 4342 阅读 · 0 评论 -
[Oracle] enq: TX - row lock contention 优化案例
根据开发反馈,最近每天早上7:30应用会报警,应用的日志显示数据库连接池满了,新的连接被拒绝。首先,我做了ASH报告(报告区间:7:25 ~ 7:35),从ASH的等待事件发现enq: TX - row lock contention居然高达76.54%,如下所示:Top User EventsEventEvent Class% Even原创 2014-06-04 09:28:56 · 5681 阅读 · 0 评论