Path coverage becomes unmanageable as your design grows in complexity. Modelsim/Questa offers different sets of code coverage metrics that you should look into. (for example. focused expression coverage FEC). But you need to realize that none of this tells you how much you've tested to meet the functional requirements your code is supposed to have implemented.
Code coverage provides valuable information; it tells you what code in your design has been exercised. Without this information, portions of the design might not be exercised at all. However, just knowing design code has been exercised is not sufficient to determine if that code was exercised properly. It could be said that some of the higher forms of code coverage (such as, expression, branch, path, and state machine coverage) can give you more information about your code, but it is dangerous to make this assumption. Using these higher forms of code coverage can lead to false conclusions that can cost large amounts of time and money to verify.