这么多列,肯定导致出现行连接了
而且,你直接通过参数连接效率可能很低尝试一下嵌套查询,比如先通过两个表进行有条件的关联,过滤掉大部分无用的数据
然后再进行跟别的表的关联,过滤。。select * from (
select * from (select * from a,b where a.col=b.col) t,t1
where t.col=t1.col ) t2,t3
where t2.col=t3.col ...;
而且,你直接通过参数连接效率可能很低尝试一下嵌套查询,比如先通过两个表进行有条件的关联,过滤掉大部分无用的数据
然后再进行跟别的表的关联,过滤。。select * from (
select * from (select * from a,b where a.col=b.col) t,t1
where t.col=t1.col ) t2,t3
where t2.col=t3.col ...;
比如:select * from (
select * from (select A.a,B.a from A,B where A.a=B.a) T其中的内层A.a列怎么表示出来 T.A.a好像不好使
To:bzszp(www.bzszp.533.net) :物化视图是什么东西,能不能说说怎么用
则语句改定为:
select A.* from A,B where A.a=60 and A.a=B.a order by A.a
To BlueskyWide(谈趣者) : 可是数据库不是我设计的,我也没有改数据库的权限
To beckhambobo(beckham) :数据库的纪录数量不是很大,是不是用物化视图也没用啊
比如:select * from (
select * from (select A.a,B.a from A,B where A.a=B.a) T其中的内层A.a列怎么表示出来 T.A.a好像不好使\---------------------------------------------
内层的A.指明a列是取自A表的,取出来后将
(select A.a,B.a from A,B where A.a=B.a)作为结果集
整体考虑,另命名为T表,所以用T.a即可访问。-----------------------------------------------
我也同意:如果数据改变不是很大的话,将查询结果
存入另一张表,存第一次可能会慢点,以后只需要维护
更新或插入的数据即可。读取一张表,不管字段多少,
总会快很多了。