1. 程式人生 > >update與select關聯執行效率問題

update與select關聯執行效率問題

UPDATE fl_user_space u
SET u.`course_count` = (SELECT COUNT(*) FROM fl_course c WHERE c.uid = u.uid)
WHERE 1 = 1 
AND u.school_id = #${schoolId}#;

  這種執行效率執行時間在秒級以上,幾秒到幾十秒,資料量大時甚至更長

 

UPDATE fl_user_space u,
(SELECT c.uid ,COUNT(course_id) AS course_count FROM fl_course c WHERE c.school_id = #${schoolId}# GROUP BY c.`uid`) b
SET u.`course_count` = b.course_count
WHERE u.`uid` = b.uid 
AND u.school_id = #${schoolId}#;

  這種執行效率執行時間在毫秒級,1~2百毫秒左右