Olá, Reforçando o que o Sandro disse. Explorar as triggers para manter campos com resultados de outras tabela e sempre um bom caminho. A consulta fica muito rápida em situações que tem mais operações de leitura do que de escrita, que é na grande maioria.