sql query is too slow, how to improve speed

Posted by user1289282 on Stack Overflow See other posts from Stack Overflow or by user1289282
Published on 2012-03-23T23:08:25Z Indexed on 2012/03/23 23:29 UTC
Read the original article Hit count: 149

Filed under:
|

I have run into a bottleneck when trying to update one of my tables.

The player table has, among other things, id, skill, school, weight.

What I am trying to do is:

SELECT id, skill
FROM player
WHERE player.school = (current school of 4500)
AND player.weight = (current weight of 14)

to find the highest skill of all players returned from the query

UPDATE player
SET starter = 'TRUE'
WHERE id = (highest skill)

move to next weight and repeat when all weights have been completed
move to next school and start over all schools completed, done

I have this code implemented and it works, but I have approximately 4500 schools totaling 172000 players and the way I have it now, it would take probably a half hour or more to complete (did not wait it out), which is way too slow.

How to speed this up? Short of reducing the scale of the system, I am willing to do anything that gets the intended result.

Thanks!

*the weights are the standard folk style wrestling weights ie, 103, 113, 120, 126, 132, 138, 145, 152, 160, 170, 182, 195, 220, 285 pounds

© Stack Overflow or respective owner

Related posts about Performance

Related posts about query