提高查询主、从表速度的一个方法

王朝other·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

有两个主、从表

main_tab,detail_tab

主表记录大概是600多万条,从表记录大概2000万条,两表相互关联的字段有4个:

prod_id,

--产品编号

yyyymmdd,

--日期

paper_no,

--单号

io

--进出代号

另外在主表上还有一个code字段标识单据的有效性,

如果想查出某一段时间的有效的单据中(或者某些产品)的明细资料,一般的做法:

select 所需字段

from detail_tab a,main_tab b

where a.prod_id = b.prod_id

and a.yyyymmdd = b.yyyymmdd

and a.paper_no = b.paper_no

and a.io = b.io

and b.yyyymmdd = '指定日期'

and a.io = '进仓'

and b.code = '有效的';

这个查询的速度会因为这两个表过于巨大而非常的缓慢,

现在有一个解决办法,就是给两个表都加上条件,即使是两个表关联的字段也加:

select 所需字段

from detail_tab a,main_tab b

where a.prod_id = b.prod_id

and a.yyyymmdd = b.yyyymmdd

and a.paper_no = b.paper_no

and a.io = b.io

and b.yyyymmdd = '指定日期'

and a.yyyymmdd = '指定日期'

and a.io = '进仓'

and b.io = '进仓'

and b.code = '有效的';

这样的速度要比前一种快了至少10倍以上。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航