三个union分开执行看看哪个最慢  然后重点优化最慢的那个

解决方案 »

  1.   

    SQL太长,没有仔细看,将多次用到的意中人存为查询 OR 插入到临时表中保存
      

  2.   

    SQL太长,没有仔细看,将多次用到的sql存为查询 OR 
    将结果插入到临时表中保存
      

  3.   


    三个union执行的速度都不慢, 最长的也就半秒不到
    只是三个union之后inner join的几张表的时候就慢了好多
    按照你的方法我试了一下一张张表进行合并发现是agent e表这里ON条件花费了好多时间,甚至没响应那里问下能怎么优化 on后面加了like跟and是不是很差?
      

  4.   


    其实这一段就是查询语句,只是我单独抠出来
    存储过程里面我是直接execute的多次用到查询放在sql语句里面的话表名别名不能区分开来,临时表的话我不知道哪些存入临时表比较好
      

  5.   

    一段一段 分开分析, 分别用 explain select ...