中间那个子查询就将近30秒,整个语句好几分钟,不知道该怎么优化。求大神给个思路
SELECT DISTINCT result.* FROM(
SELECT
con.update_time,con.pk_id,con.origin_id,pro.project_no,con.title,pro.project_name
,com.company_name,comp.company_name
proxy_company_name,con.add_time,con.publish_time,con.state,xp.org_code,xp.org_name
FROM content con
LEFT JOIN bid_project pro ON con.origin_id = pro.pk_id
LEFT JOIN company_info com ON com.pk_id = pro.company_id
LEFT JOIN company_info comp ON comp.pk_id = pro.proxy_company_id
LEFT JOIN xpoplar_comp_info xp ON xp.org_code = con.org_code
LEFT JOIN flow_approve f ON f.source_pk_id = con.pk_id
WHERE con.type = 'N2')
result WHERE 1=1 AND STATE = '2' ORDER BY state ASC,project_no
DESC,publish_time DESC
+----+-------------+------------+--------+---------------+--------------+---------+--------------------------+------+---
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+------------+--------+---------------+--------------+---------+--------------------------+------+-
| 1 | PRIMARY | <derived2> | ref | <auto_key0> | <auto_key0> | 5 | const | 10 | Using where; Using temporary; Using filesort |
| 2 | DERIVED | con | ALL | NULL | NULL | NULL | NULL | 7012 | Using where |
| 2 | DERIVED | pro | eq_ref | PRIMARY | PRIMARY | 152 | ztb.con.origin_id | 1 | Using where |
| 2 | DERIVED | com | eq_ref | PRIMARY | PRIMARY | 152 | ztb.pro.company_id | 1 | NULL |
| 2 | DERIVED | comp | eq_ref | PRIMARY | PRIMARY | 152 | ztb.pro.proxy_company_id | 1 | NULL |
| 2 | DERIVED | xp | ref | ORG_CODE | ORG_CODE | 152 | ztb.con.org_code | 1 | NULL |
| 2 | DERIVED | f | ref | source_pk_id | source_pk_id | 153 | ztb.con.pk_id | 1 | Using index |
+----+-------------+------------+--------+---------------+--------------+---------+--------------------------+------+-