Moving beyond simple system with a few users, I'm interested in learning how to design a system that will continue to work well as it becomes heavily loaded. I'm interested in learning about table design, query design, software design for a robust system. I'm also interested in learning about how to evaluate and choose a database engine. MySQL is available here.

Can anyone recommend books (or other resources?) that you have found to be effective in teaching and explaining these concepts? Thanks for any input.