性能优化
bisal(Chen Liu)
这个作者很懒,什么都没留下…
展开
-
一个执行计划异常变更的案例 - 正传
之前的几篇文章: 《一个执行计划异常变更的案例 - 前传》 《一个执行计划异常变更的案例 - 外传之绑定变量窥探》 《一个执行计划异常变更的案例 - 外传之查看绑定变量值的几种方法》 《一个执行计划异常变更的案例 - 外传之rolling invalidation》 《一个执行计划异常变更的案例 - 外传之聚簇因子(Clustering Factor)》 《一个执行计划异常变更的案例 -原创 2017-02-18 23:41:49 · 2068 阅读 · 2 评论 -
MySQL系统运行状态实时监控(shell版本)
开始接触MySQL,还是和Oracle有些不一样的地方,需要逐步积累和学习,其中有一点不同,就是Oracle有一些数据字典,可以显示系统运行状态,但需要使用SQL来检索,另外AWR会有一些运行状态信息,相比之下,MySQL提供了一些指令,直接执行就可以显示,看起来要更方便一些。MySQL要显示系统运行状态,可以有两种方法。方法一:登陆数据库,执行命令show global status,如下所示,原创 2017-10-28 09:11:49 · 4421 阅读 · 0 评论 -
MySQL系统运行状态实时监控(python版本)
昨天的文章,用shell写了一个简单的MySQL系统运行状态实时监控的模版,《MySQL系统运行状态实时监控(shell版本)》,对于这种操作,任何语言都可以完成,今儿就用python写一下,写的不优雅的地方,请各位指正。首先,为了让python能连接MySQL数据库,需要一些第三方的库,由于我用的是python 2.3版本,因此可以使用mysqldb,(若是python 3.x,则可以使用PyM原创 2017-10-28 09:19:56 · 6711 阅读 · 0 评论 -
探索索引的奥秘 - 索引的属性
索引是一种奇特的对象,他就像一把双刃剑,用好了可以提高性能,用不好就可能会影响性能,但如何才能用好索引?可能我们日常工作中,同事、朋友,甚至我自己会问这种问题,我们创建了索引,为什么这条SQL未用这索引?创建的索引越多,应用是不是就会越快?只要SQL运行慢,一定是索引有问题?应用是否用索引,是谁来决定的?是否有了索引,应用就一定不会有性能问题?...其实这些问题,都蕴含着丰富的信息,就像学习Ora原创 2017-12-19 14:36:55 · 1055 阅读 · 0 评论 -
探索索引的奥秘 - 10053事件
之前我们了解了索引的属性,以及一些对于是否能用索引似是而非的场景,相应的说明和结论可以参考,《探索索引的奥秘 - 索引的属性》《探索索引的奥秘 - 有索引就一定会用么?》对于一条SQL,是否可以用索引,在CBO下,是依赖于Oracle对于不同执行计划成本值预估的判断,下面这张图是Concept描述的优化器,优化器的输入,是通过解析器处理的语句,在优化器中,会执行以下操作,1. 基于可用的访问路径,...原创 2018-04-03 22:43:24 · 586 阅读 · 0 评论 -
一次夜维SQL的性能优化
最近单位搬家,从国家会议中心,搬往空气清新的顺义后沙峪,搬迁之前的完结上线中,碰见了一些棘手的问题,有一些值得借鉴的地方。 这是一个夜维程序的优化。这个夜维的目的,是每日删除30+张表历史数据,其中的主要矛盾,是一张5000万的表,以下仅针对这张表的优化,做下介绍,大致经历了几个阶段, 阶段一:顺序删除每张表,例如表A和B,B为A表子表,由于表有主外键关系,因此需要先删B表,再...原创 2018-09-17 15:47:20 · 579 阅读 · 0 评论 -
CBO如何选择相同cost的索引
ACOUG年会杨长老的演讲中,曾提到一个问题,一条SQL语句,两种执行计划的cost值相同,CBO是如何选择执行计划? 翻译一下问题,创建测试表数据,SQL> create table z (a number, b number);Table created. SQL> begin 2 for i in 1 .. 10000 loop 3...原创 2018-12-10 12:47:44 · 414 阅读 · 0 评论 -
自适应log file sync影响案例
Oracle最吸引人的地方,就是有些答案,隐藏在种种现象之中,扑朔迷离,朦朦胧胧,就像侦探办案,首先要有思路,其次要有证据,再者就是扎实的基础知识,另外就是些运气。 例如最近碰见了一个案例,一套3节点11.2.0.4 RAC,某应用只用节点1(FAILOVER other nodes),如下是系统负载,某段时间,TPS是554.5, AWR经常出现log file sync等待...原创 2018-12-10 12:53:44 · 1589 阅读 · 0 评论 -
探寻大表删除字段慢的原因
《大表删除字段为何慢?》的案例中,提到删除一张大表的字段,产生了很多等待,但是测试环境模拟的现象,看起来和生产,略有区别。由于生产环境,用的是DG架构,因此在数据库同事的协助下,利用DG备库snapshot的功能,在生产环境,真实操作了一次,虽然和主库操作,唯一不同的是,没有请求的压力,相当于停了应用,但还是能说明些问题。整个删除操作,执行时间,大约是30分钟,通过10046的trace,...原创 2019-01-25 00:20:56 · 3406 阅读 · 3 评论