Oracle 11g加入性能

时间:2013-12-13 03:26:45

标签: sql oracle

我正在对oracle 11g进行一些随机测试,并且使用SQL开发人员实现了不同JOIN之间的奇怪性能差异。

我在RANDOM_TABLE中插入了200,000条记录,在unrelated_table中插入了大约300条记录,然后运行了两次查询10次,所述时间是平均值。

这两个表是完全无关的,所以第一个表应该给出与第二个表相同的结果,实际上行数是相同的。

1.  SELECT * FROM some_random_table t1 LEFT JOIN unrelated_table t2 ON 1=1;
~0.005 seconds to fetch the first 50 row.

2.  SELECT * FROM some_random_table t1 RIGHT JOIN unrelated_table t2 ON 1=1;
>0.05 seconds to fetch the first 50 row.

1.  SELECT * FROM some_random_table t1 FULL JOIN unrelated_table t2 ON 1=1;
~0.005 seconds to fetch the first 50 row.

2.  SELECT * FROM some_random_table t1 CROSS JOIN unrelated_table t2;
>0.05 seconds to fetch the first 50 row.

有人可以解释这些查询之间的区别吗?为什么有些更快,有些慢一个数量级?

0 个答案:

没有答案