Saturday, 15 May 2010

sql - mysql query with SELECT IN SELECT in more efficient way -



sql - mysql query with SELECT IN SELECT in more efficient way -

please help me optimize query getting reccomended (rec) movies. have many records , query run quite slow. next query run 2 mins

select rec.tomovieid, sum(rec.score) rec movieid in (select movieid movieid userfavorites ufv ufv.userid = 29) grouping rec.toamovieid order rec.score desc limit 10

do think can optimize more?

you can utilize inner bring together instead of subselect

select rec.tomovieid, sum(rec.score) rec inner bring together userfavorites on rec.movieid = userfavorites.movieid userid = 29 grouping rec.toamovieid order rec.score desc limit 10

you should set indexes on rows in clause, @ to the lowest degree movieid , userid. (if not allready done)

mysql sql query-optimization

No comments:

Post a Comment