这几个不是一类东西,怎么搭配要看执行计划with as里的结果集当被多次引用时,结果集会被存到临时表中。如果只引用一次,则相当于子查询

解决方案 »

  1.   

    关键是你的索引建的好不好~尽量通过索引缩小各个数据集的大小就可以了.
    基本原理是在join之前就把各个表按条件(有索引)缩小到最小,然后再join就可以了.
      

  2.   

    可以将2和3结合起来,用with as的方式将每个表用筛选条件过滤为小表,然后多表关联得到想要的结果。
      

  3.   

    with as  是临时表,但是create table 是建的实表这个怎么结合起来呢。另外
    create global temporary table 没有用的吗。