对于ORACLE索引的一点发现(不同表连接写法对索引的需求)
对于ORACLE索引的一点发现(不同表连接写法对索引的需求)
2条写法不同的表连接语句:(效果一样) www.zzzyk.com
select * from T_FORM_ELEMENT t join t_form_resources t1 on t1.meta_id=t.meta_id;
select * from T_FORM_ELEMENT t,t_form_resources t1 where t.meta_id=t1.meta_id;
select * from T_FORM_ELEMENT t,t_form_resources t1 where t.meta_id=t1.meta_id;
在表T_FORM_ELEMENT的字段meta_id上建有索引PK_T_FORM_ELEMENT。
1.当索引有效时
alter index PK_T_FORM_ELEMENT rebuild;
2.当索引无效时:
alter index PK_T_FORM_ELEMENT unusable;
结论:
语句1:select * from T_FORM_ELEMENT t join t_form_resources t1 on t1.meta_id=t.meta_id; 不管索引是有效还是无效,都会走索引。
语句2:select * from T_FORM_ELEMENT t,t_form_resources t1 where t.meta_id=t1.meta_id; 当索引无效时,不走索引。
SQL语句写法不同,引用索引的程度不同。