![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
oracle优化
北落师门Annie
这个作者很懒,什么都没留下…
展开
-
BITMAP CONVERSION FROM ROWIDS/_b_tree_bitmap_plans
BITMAP CONVERSION FROM ROWIDS第一次写博客,虽然是转载,但也希望能坚持。 在有些执行计划中,可以会看到 BITMAP CONVERSION FROM ROWIDS这样的东东,也许你会感觉奇怪,我没有使用位图索引怎么出现了bitmap。sql语句为:SELECT * FROM (SELECT a.*, ROWNUM rn FROM ( SELEC转载 2017-04-29 00:31:15 · 586 阅读 · 0 评论 -
由数据分布看出IN和EXISTS区别
现在oracle的优化器其实都比较先进了,一般简单的查询你写成in或者exists,其实执行计划都是一样的,但是cbo也有其局限性,当查询出现分组函数时执行计划就有可能出现区别了。下面做个实验 ,数据库使用11GR2:create table a as select * from dba_objects; create table b as select * from dba_objects;原创 2017-05-01 19:07:02 · 332 阅读 · 0 评论 -
外连接+聚合
数据库版本:10205下面这条SQL执行时间大约为50秒,别名为Q的表大约有30W条数据。 语句如下:首先看到wm_concat函数,10205以后的版本返回值已经改为CLOB,效率比较低,11GR2已经可以使用listagg进行替换,10205必须要自己创建函数了。自定义函数如下:create or replace type str_tab is table of varchar2(4000);原创 2017-05-10 10:19:07 · 339 阅读 · 0 评论 -
ORA-29886: feature not supported for domain indexes
使用merge into进行批量更新报错:ORA-29886: feature not supported for domain indexes需求是将B的两个字段每天晚上同步更新到A表,两张表大概都有30多万条数据,这样的数据量使用Update一晚上都跑不完。一般情况批量更新有3种方法,如果merge into行不通,可以使用其他两种方法:1、使用merge into 进行更新 但是发现会原创 2017-05-19 11:19:33 · 1373 阅读 · 0 评论