大神帮忙优化下这个查询语句
这个是ORACLE的一个查询语句
select * from
(
select * from t1
left t2
......
left t10
union all
select * from t1
left t2
......
left t5
) ta
where ta----条件
因为报表平台的限制,只能添加一个时间筛选,所以需要把两个表union起来,然后在大表外查询,但是这样很慢,我测试了,如果不用外面这个嵌套,把条件放到里面的两个表取,就会比较快!能有大神帮忙分析下吗?里面有一张表上亿的数据;
不知道各位大神有没有想过嵌套之类的查询时间的计算相关的知识,求指教!
select * from
(
select * from t1
left t2
......
left t10
union all
select * from t1
left t2
......
left t5
) ta
where ta----条件
因为报表平台的限制,只能添加一个时间筛选,所以需要把两个表union起来,然后在大表外查询,但是这样很慢,我测试了,如果不用外面这个嵌套,把条件放到里面的两个表取,就会比较快!能有大神帮忙分析下吗?里面有一张表上亿的数据;
不知道各位大神有没有想过嵌套之类的查询时间的计算相关的知识,求指教!
...全文
相关推荐
SQL中查询语句的优化方法.pdf
SQL中查询语句的优化方法.pdf
SQL查询语句的优化.pdf
SQL查询语句的优化.pdf
oracle查询语句优化
oracle数据库查询语句优化的29点小技巧
SQL查询语句的性能优化
SQL查询语句的性能优化与索引,写得还不错,可以看看了
SQL查询语句优化的实用方法总结
查询语句的优化是SQL效率优化的一个方式,可以通过优化sql语句来尽量使用已有的索引,避免全表扫描,从而提高查询效率。最近在对项目中的一些sql进行优化,总结整理了一些方法。 1、在表中建立索引,优先考虑where、group by使用到的字段。 2、尽量避免使用select *,返回无用的字段会降低查询效率。如下: SELECT * FROM t 优化方式:使用具体的字段代替*,只返回使用到的字段。 3、尽量避免使用in 和not in,会导致数据库引擎放弃索引进行全表扫描。如下: SELECT * FROM t WHERE id IN (2,3) SELECT * FROM t1 WH


