这条语句的执行效率有点底,当数据量有不到三千行的时候需要1.2秒,希望能优化一点
语句可能有点长,希望大家能解答,最好能写出来源语句
SELECT COUNT(DISTINCT T5.`ID`)
FROM
`REL_LHFUNC_TABLE` AS T5
INNER JOIN `FUNCTION_TABLE` AS T6 ON T5.`FUNC_ID` = T6.`ID`
INNER JOIN `LH_TABLE` AS T7 ON T5.`LH_ID` = T7.`ID`
LEFT JOIN `CLOSED_TABLE` AS T8 ON T5.`LH_ID` = T8.`PROJ_ID` 数据挖掘研究院
AND
T8.`PROJ_TYPE` = 'LH'
WHERE
T5.`ID` IN
(
SELECT
DISTINCT T3.`ID` 数据挖掘研究院
FROM
`REL_LHFUNC_TABLE` AS T3,
(
(SELECT
DISTINCT T2.`FUNC_ID` AS FUNC_ID, 数据挖掘研究院
T1.`UP_ID` AS LH_ID
FROM
`REL_TABLE` AS T1, `PH_TABLE` AS T2
WHERE
T1.`UP_TYPE` = 'LH'
AND
T1.`DOWN_TYPE` = 'PH'
AND
T2.`ID` = T1.`DOWN_ID`
ORDER BY T2.`FUNC_ID`, T1.`UP_ID` 数据挖掘研究院
)
UNION
(SELECT
DISTINCT T2.`FUNC_ID` AS FUNC_ID,
T1.`UP_ID` AS LH_ID 数据挖掘研究院
FROM
`REL_TABLE` AS T1, `UI_TABLE` AS T2
WHERE
T1.`UP_TYPE` = 'LH' 数据挖掘实验室
AND
T1.`DOWN_TYPE` = 'UI'
AND
T2.`ID` = T1.`DOWN_ID`
ORDER BY T2.`FUNC_ID`, T1.`UP_ID` 数据挖掘研究院
)
) AS T4
WHERE
T3.`FUNC_ID` = T4.FUNC_ID
AND
T3.`LH_ID` = T4.LH_ID 数据挖掘研究院
)
AND
T8.`ID` IS NULLUPUP
大侠帮帮忙

