This is one of the major drawbacks to using subreports - each time a subreport is called, it connects to the database a re-queries the data.
Is the subreport running in the details section or one of the group header or footer sections?
What are you doing that you specifically need a subreport for instead of formatting the data in the main report?
What type of database are you connecting to? Are you using a native connection? ODBC? OleDB?
In Crystal do you have "Use Indexes or Server for Speed" and "Perform Grouping on Server" turned on? If not, can you? (Not all databases allow this.)
-Dell