2011-06-06 58 views

回答

4

时这样怪物面对我最常做的是:

  1. 替换老式的使用with语句以新的风格的人加入
  2. 模块化每一个不平凡的子查询到“虚拟”的表,例如:
with 
subquery1 as (select /*big query*/), 
subquery2 as (select /*big query*/) 
select * 
from ... 
    join subquery1 
where foo in (select foo from subquery2) 

在这一点上有些图案EME而且更经常的是,查询可以用合理的方式重写。

1

我要做的第一件事是发出explain plan来查看DBMS如何执行查询并从那里开始。