sql 加合计行后的效率问题(access)?
我用有些复杂的sql查询语句生成了一个结果,如"select.....fromTabel"然后我用"unionallselect'合计'....from(select.....
我用有些复杂的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 select '合计'....from (select.....from Tabel)"在下面加上了一行合计,
那么我想问的是,一个sql查询语句多个(from * )后面多次引用前面已有的同一个(select.....from Tabel)"语句,会不会在运行时效率很慢呢?
不知道各位大侠明白了没有?如果知道请告之!---------谢谢了.........!
一楼你好!!
由于合计行的(union all ..from )后是必须要引用前面那个有些复杂的语句生成的表,是不是运行到(union all ..from)时,又执行了一次(select.....from Tabel)这个语句?这样的效率是不是很低,有没有更高一点的做法
---------------------------------------------
badkano 你好!
你说的建个视图是什么意思!能不能稍带加一点解释!(我是菜鸟,access可以用视图吗) 展开
2个回答
展开全部
效率慢是正常的,因为你前边是一次遍历,后边的汇总又是一次遍历,时间的话基本该是不union all的两倍
不过运行速度不仅仅是跟查询的条件有关,有时也与主机性能有点关系
----------------------补充----------------------
把union all后的那段建个视图,每次从视图里调用那部分数据就能好点
ac可以用视图,create view v_name as (这部分写你union all 那部分数据),如果允许的话你可以在表中某些字段建索引,以提高效率
不过运行速度不仅仅是跟查询的条件有关,有时也与主机性能有点关系
----------------------补充----------------------
把union all后的那段建个视图,每次从视图里调用那部分数据就能好点
ac可以用视图,create view v_name as (这部分写你union all 那部分数据),如果允许的话你可以在表中某些字段建索引,以提高效率
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询