sql 加合计行后的效率问题(access)?

来源:百度知道 编辑:UC知道 时间:2024/06/08 19:00:41
我用有些复杂的sql查询语句生成了一个结果,如"select.....from Tabel"

然后我用"union all select '合计'....from (select.....from Tabel)"在下面加上了一行合计,
那么我想问的是,一个sql查询语句多个(from * )后面多次引用前面已有的同一个(select.....from Tabel)"语句,会不会在运行时效率很慢呢?

不知道各位大侠明白了没有?如果知道请告之!---------谢谢了.........!
一楼你好!!
由于合计行的(union all ..from )后是必须要引用前面那个有些复杂的语句生成的表,是不是运行到(union all ..from)时,又执行了一次(select.....from Tabel)这个语句?这样的效率是不是很低,有没有更高一点的做法
---------------------------------------------
badkano 你好!
你说的建个视图是什么意思!能不能稍带加一点解释!(我是菜鸟,access可以用视图吗)

效率慢是正常的,因为你前边是一次遍历,后边的汇总又是一次遍历,时间的话基本该是不union all的两倍

不过运行速度不仅仅是跟查询的条件有关,有时也与主机性能有点关系
----------------------补充----------------------
把union all后的那段建个视图,每次从视图里调用那部分数据就能好点

ac可以用视图,create view v_name as (这部分写你union all 那部分数据),如果允许的话你可以在表中某些字段建索引,以提高效率

嵌套查询会稍微慢点,但是不会很慢