SELECT
(UserCourseProgress.TimeEnded - UserCourseProgress.TimeStarted) as SecondsSpent,
UserCourseProgress.UserId
FROM
UserCourseProgress
INNER JOIN UserRoles
ON UserCourseProgress.UserId = UserRoles.UserId
AND (UserRoles.SuperId = '123' OR UserRoles.UserId = '123')
我想优化这个查询,因为它需要很长时间(主要是将数据复制到Tmp表)。 该结构很简单,一个名为UserCourseProgress
的表和另一个名为UserRoles
的表,他们都有UserId
列的共同点,并且我选择属于超级用户的所有userRoles
。有任何想法吗?MySQL优化查询
确保您有'UserRoles.SuperId'和'UserRoles.UserId'指标,以及如在FK UserCourseProgress.UserId' – StuartLC
你可以给表结构,并且很少更多解释, – Lijo