select 字段的问题
a 表 30几个字段
b 表 40几个字段
两个表中有几个字段存放的数据是一样的。
从一个表中去 3个字段
select a.Col1, a.Col2, a.Col3
from a,b
where a.key = b.key
从两个表中取 3个字段
select a.Col1, a.Col2, b.Col3
from a,b
where a.key = b.key
那种性能好,
数据量大的情况下,速度有多明显提升吗。
[解决办法]
应该差不多的,因为要做关联,数据量大的时候,oracle会选择用hash_join,对两个表都要全表扫描。
你实际测一下就知道了。
[解决办法]
如果说真有区别。那应该是select a.Col1, a.Col2, a.Col3
from a,b
where a.key = b.key要好些吧。至少在内存中取数时,一个表中的数据集中度要高些。避免了寻址方面的时间
[解决办法]
时间差不多
都是先扫表a,b 然后关联a.key = b.key 从结果中提取想要的字段