我有很长很复杂的查询(Oracle 10g)。它包含大约10个选择子查询。查询有效,但时间太长。我应该以某种方式划分这个查询吗?我的意思是有一些标准可以多长/复杂的SQL查询。该查询的工作原理,但它似乎并不像我最喜欢的解决方案。 例如,一个子查询在那里重复(它查询小于20行的表),我怎么能让它在查询过程中只运行一次? 也许是过于笼统的问题 感谢所有的答案 Tonulong oracle查询
回答
尝试寻找到与条款,但它确实做一个子查询一次,然后让你在一个多佛再次引用resuling行
我只能建议大量使用EXPLAIN PLAN来确定查询优化器在重新组织查询时所做的工作。
另一种方法可能是与业务进行交谈,并找出他们真正想要的内容,并在系统中查看,如果没有可用的信息更接近问题域。
我曾经有过类似于“准时交货”的情况,其中“准时交货”的定义被商业中层管理人员屠杀了,因此渴望呈现一个“好消息展示”并臃肿由于特殊情况处理极端。 推回到管理手册,实现那里的定义,并使用由Oracle EBS创建的方便的聚合表,将运行时间从25分钟减少到2秒。
从版本9开始,您可以使用称为子查询因子分析(也称为with-clause)的功能几乎像任何其他代码一样来考虑您的SQL代码。
的文档:http://download.oracle.com/docs/cd/B10501_01/server.920/a96540/statements_103a.htm#2075668
一个例子:http://download.oracle.com/docs/cd/B10501_01/server.920/a96540/statements_103a.htm#2075888
问候, 罗布。
也被称为Common Table Expressions,我相信它是ANSI SQL术语。 – APC 2010-06-21 10:18:41
- 1. 按LONG列查询
- 2. oracle查询中'to_date'和'long to date'之间的结果混淆
- 3. 查询与LONG列的表
- 4. Oracle Long Raw图片
- 5. Oracle查询链接查询
- 6. Oracle查询内部查询
- 7. Oracle dba_tab_cols查询
- 8. sql查询/ oracle
- 9. Oracle XMLtype查询
- 10. Oracle查询
- 11. Oracle查询
- 12. Oracle-sql查询
- 13. 在Oracle查询
- 14. ORACLE SQL查询
- 15. Oracle子查询
- 16. 难Oracle查询
- 17. Pivot Oracle查询
- 18. SQL Oracle查询
- 19. Oracle SQL +查询
- 20. Oracle查询Regexp_substr
- 21. 与Oracle查询
- 22. ASP.NET Oracle查询
- 23. 从Ebean获取地图<Long, Long> sql查询
- 24. Mongodb Long查询数据未被插入
- 25. MySQL-python:SELECT返回'long'而不是查询
- 26. Freemarker - 查询地图<Long, ...>
- 27. 如何提高Oracle-DB中的CLOB和LONG值的查询性能(cx_Oracle vs OJDBC)?
- 28. 优化Oracle查询
- 29. Oracle SQL LIKE查询
- 30. 多个Oracle查询
发布代码,也许我们可以给出更具体的帮助。 – 2010-06-21 11:24:42