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