随笔分类 -  数据库

摘要:select a.* from a where exists (select 1 from b where a.id<>b.id)对于in 和 exists的区别: 如果子查询得出的结果集记录较少,主查询中的表较大且又有索引时应该用in, 反之如果外层的主查询记录较少,子查询中的表大,又有索引时使用exists。其实我们区分in和exists主要是造成了驱动顺序的改变(这是性能变化的关键),如果是exists,那么以外层表为驱动表,先被访问,如果是IN,那么先执行子查询,所以我们会以驱动表的快速返回为目标,那么就会考虑到索引及结果集的关系了,另外IN时不对NULL进行处理。 阅读全文
posted @ 2012-08-07 14:12 戴眼镜的码农 阅读(309) 评论(0) 推荐(0)
摘要:1. 准备好所有要执行的sql文件。2. 写一个run.sql的脚本文件,内容样例如下:conn system/sa@orcl;@@SR_PA00669687_01_rivdata_create_tab.sql;@@SR_PA00669687_02_rivdata_alter_tab.sql;@@SR_PA00669687_03_rivdata_create_ind.sql;@@SR_PA00669687_04_rivdata_create_seq.sql;@@SR_PA00669687_05_rivdata_create_syn.sql;@@SR_PA00669687_06_rivdata_ 阅读全文
posted @ 2011-06-20 16:23 戴眼镜的码农 阅读(962) 评论(0) 推荐(0)