Well, I think there's some different factors here. Assuming that you're playing with the default rules, you have to mine mountains and hills. As for grasslands and plains, it depends on what your goals are and where you are in the game. Usually in the beginning of the game I only have people working grassland or plains squares. What I usually do is irrigate plains and mine grasslands so each worked tile will make the city grow but also produce shields. I like to get my cities up to their maximum population as soon as possible and then switch the "worked squares" so that there is no population growth. Then after I build an aqueduct or a hospital, I might switch tiles or re-irrigate some grasslands. The point is, I maximize population growth and production until the city can grow no more, and then I max. production.
If you're going for a high score, then you will want to eventually irrigate every tile that can be irrigated so you have more citizens, which are a major factor in the end score. If you want to conquer everything quickly, or go for a cultural or space-race victory, you will want cities that produce lots of shields, and so you will want to have exactly 21 pop. (if possible) in all your cities with no growth and max. mining. Maybe in reality, though, you will need 24 per city for entertainers to keep citizens happy. Hope this helps!