总结:在工作中,在t1表的object_id是主键,T1表是50个G,T2表是30M,这个时候用T2表来做驱动表,T1表做被驱动表,走NL是比较理想的执行计划
测试:
我在这里进行模拟测试的T1有1000000的数据量,大概是120 M,T2表有200000的数据量,大概是23 M,(1)、创建表:
exec create_table('t1',1000000);
exec create_table('t2',200000);
(2)、先看一下这个子查询的执行计划
select * from t1 where object_id in (select object_id from t2);
已选择200000行。
已用时间: 00: 00: 10.82
执行计划
----------------------------------------------------------
Plan hash value: 1275841967
---------------------------------------------------------------------