about me:oracle ace pro,optimistic,passionate and harmonious. focus on oracle,mysql and other database programming,peformance tuning,db design, j2ee,linux/aix,architecture tech,etc
全部博文(166)
发布时间:2022-04-11 09:15:08
网上到处都是什么nologging放在insert 语句里减少redo size的说法,但是很少看到有数据来说明,或者测试的环境有所差别,其他的不说了,nologging那个eygle网站上有,append神马情况下减少redo,nologging用在神马情况下也不说了,就来说说那个insert append nologging语句以及测试了append到底是减少redo还是undo?。......
发布时间:2020-07-15 17:21:48
随着业务的增长,生命周期管理单纯对表的管理,已经无法满足目前公司业务增长对存储的需求,因此,急需从其它方面对模型进行精简,而索引是占存储较大的对象,由于冗余索引、无效索引、无用索引等存在,导致索引浪费存储,需要制定一套策略进行管理。
索引监控与分析则是一套很好的方法,oracle提供索引monitor的方法(对系统资源使用影响小),但是无法监控索引使用频次,另一种方法可以通过使用awr视图dba_hist_sql_plan,可以查询到索引的使用频次,当然,有些sql可能进入不了awr中,因此,我们采用综合的方法:
1) 从awr中(要求30天以上)查询出未被使用的索引。
2) 对1)中的索引使用oracle index monitor监控30天。
如果最终查询出的索引仍未被使用,则认为此索引是多余索引,提交对应库负责人确认后予以清除。
......
发布时间:2020-07-13 16:59:22
使用leading、ordered、swap_join_inputs控制表连接顺序......
发布时间:2020-07-02 16:38:07
分布式查询语句对于远程对象的查询在远程库执行,在远程库可以执行的sql语句会通过优化器的查询转换,执行的是转换后的语句,然后结果集返回到本地,再与本地表运算。当然,
本地操作还是远程操作是相对的,我们可以通过driving_site hint改变主查询计划的执行位置,但是对dml,driving_site是失效的,另外对远程表也可以使用其他hint来控制执行计划。......
发布时间:2020-06-27 20:36:12
cbo( cost based optimizer)优化器是目前oracle默认使用的优化器,它使用统计信息、查询转换等计算各种可能的访问路径成本,并生成多种备选执行计划,最终oracle选择成本最低的作为最终执行计划。与旧的rbo(rule based optimizer)相比,更加灵活,可根据实际情况选择最佳执行路径。
但是,由于其自身非常复杂,cbo的限制以及存在的bug非常多,这时,作为sql开发和优化人员,应该根据cbo特性,编写高效语句,以避免踩坑cbo优化器。
本文以两类常见的sql优化问题来探讨基于oracle的高效sql编写和优化。......