SIM, o Crystal executará a consulta primeiro para obter 100% dos dados e depois aplicará a condição de seleção de registros. Para aumentar o desempenho, é necessário passar a condição WHERE ao nível do comando em vez do nível do relatório. Portanto, é necessário criar um relatório utilizando o comando "adicionar" desta forma
select * from nometabela where campo={?Parâmetro}
{?Parâmetro} é um parâmetro ao nível do comando.
Agora insira este relatório como um sub-relatório em outro relatório que não tem conexão, mas tem um parâmetro
{?ÁREA_DE_DADOS} e crie uma fórmula como esta no relatório principal
Split({?ÁREA_DE_DADOS}, "|")[2]
Agora clique com o botão direito no sub-relatório e vá para alterar links do sub-relatório e adicione esta fórmula do relatório principal e vincule-a ao parâmetro do sub-relatório {?Parâmetro} sem vincular nenhum campo de base de dados do sub-relatório.
Agora seu sub-relatório será executado com a cláusula WHERE para obter os dados.
Saudações,
Raghavendra