No código utilizado, nós fizemos um inner join do faturamento anual utilizando o "2016" como chave. Nesse caso ele processaria toda a tabela para que ela criasse uma coluna repetindo os valores do falturamento anual. Acredito em casos extremos de tabelas gigantescas isso poderia causar algum tipo de overload desnecessário no sistema. Teria algum jeito de usarmos o valor do faturamento anual, guardássemos esse valor e apenas utilizássemos o valor para o calculo do percentual?
Talvez isso seria a criação de uma view?