Similarly using the no. of select hits on a table we can check that if maximum no. of times it is on a non-index field we can index on that field to make select faster.
It's impractical to figure out where indexes should go at without simulating what the optimizer would then do with them against a sample set of queries. You can't do anything useful just with basic statistics about the tables.
Even if you have devised a way to find the appropriate set of indexes, just have a index adviser, which would advise a set of indexes for a set of queries and let the DBA and the application user take the final call, after looking at them..