不明白这是什么原理。。。由谁能解释一下?
看下面语句,系统查询时间显示是0。21秒:
SELECT '销售单' INV_TYPE,
d.name INV_DETAIL,
A.FORM_NO INV_NO,to_char(a.date_sale,'yyyy-mm-dd') INV_DATE,
upper(rtrim(ltrim(A.ACT_SALEPT))) SALEPT_ID,
upper(rtrim(ltrim(A.ACT_WAREHOUSE))) warehouse_id,
upper(rtrim(ltrim(b.item_no))) item_no,
a.form_no||b.sno inv_sno,
b.quantity qty_sale,
b.sale_AMT amt_sale,
b.sale_price sale_price,
b.minus_rate
from sale_form a, sale_item b,bi_temp_kind d,sale_item_map e
where a.form_status = '2'
and a.form_no = b.form_no
and a.salept_id = b.salept_id
and a.sale_cat = d.id
and b.salept_id =e.salept_id(+)
and b.item_id =e.item_id(+)
and d.kind = 'sale'
然后我把bi_temp_kind这张表去掉,因为我觉得他没什么用,去掉后如下:
SELECT '销售单' INV_TYPE,
A.FORM_NO INV_NO,to_char(a.date_sale,'yyyy-mm-dd') INV_DATE,
upper(rtrim(ltrim(A.ACT_SALEPT))) SALEPT_ID,
upper(rtrim(ltrim(A.ACT_WAREHOUSE))) warehouse_id,
upper(rtrim(ltrim(b.item_no))) item_no,
a.form_no||b.sno inv_sno,
b.quantity qty_sale,
b.sale_AMT amt_sale,
b.sale_price sale_price,
b.minus_rate
from sale_form a, sale_item b,sale_item_map e
where a.form_status = '2'
and a.form_no = b.form_no
and a.salept_id = b.salept_id
and b.salept_id =e.salept_id(+)
and b.item_id =e.item_id(+)
从我的感觉上这样的处理一定会增加查询速度,
然而,查询的结果是:5分钟后还没查出来....
其中:
sale_form 10万行左右的数据
sale_item 200万行左右的数据
sale_item_map 4万行
bi_temp_kind 10行