Dúvida Funcionamento Cache Segundo Nível [HIBERNATE]

Boa Noite a todos, então estou com um problema em uma tabela no sistema da empresa, é uma tabela de dados pessoais e em um cliente temos em torno de 40 mil registros nessa tabela e em um campo de busca há uma query com like e mesmo com projection, está horrível a performance.

Gostaria de saber se alguém tem uma sugestão, para melhorar a performance de busca nessa tabela.

Pensei no Cache de Segundo Nível, estudei um pouco implementei uns exemplos.

Mas gostaria de umas dicas pra n tentar melhorar e piorar ainda mais HAHAHA.

Se Alguém puder ajudar ficarei muito grato,

Abs.

Só por curiosidade, quantos campos existem nessa tabela?

Então Existem uns 30, mas apenas dados pessoais, porém na projection soh trago ID, Nome, CPFCNPJ e mesmo assim está muito lento pra retornar a lista.