【发布时间】:2018-07-19 19:59:08
【问题描述】:
我正在从 MySQL 视图表和主表中获取数据。我在主表中创建了索引和主键,但我无法在视图表中创建索引和主键。
当我执行以下查询时,大约需要 10 秒。我想优化以下查询以缩短时间。
SELECT DISTINCT
`Emp_No`, `Name`
FROM
`ResLookup`
WHERE
`IsActive` = 1
AND `Department` IN ('SDG' , 'HDD', 'ENG', 'PDN')
AND (`Emp_No` IN (SELECT DISTINCT
ProjList.PM_No
FROM
ProjList
WHERE
ProjList.PM_No != 1749 UNION SELECT DISTINCT
ProjList.PL_No
FROM
ProjList
WHERE
ProjList.PL_No != 1749)
OR Emp_No IN (SELECT
MEMBER_ID
FROM
s_group_details
WHERE
GROUP_ID = 'GRP109'
AND MEMBERSHIP_LEVEL = 30));
只有 s_group_details 表有索引和主键。其余所有表都从视图表中获取。
使用解释查询我有以下输出
【问题讨论】: