Você cria um objeto a menos (não que isso vá acelerar seu sistema
) se fizer o seguinte:
public String getSqlComun(){
return " min(dt_disponib_agenda) dt_min_disponib_agenda, " +
" max(dt_disponib_agenda) dt_max_disponib_agenda, " +
" min(dt_marcacao_consulta) dt_min_marcacao_consulta, " +
" max(dt_marcacao_consulta) dt_max_marcacao_consulta, " +
" sum(decode(dt_marcacao_consulta,null,1,0)) qtd_consultas_abertas, " +
" sum(decode((nvl(dt_marcacao_consulta,dt_disponib_agenda) - dt_disponib_agenda),0,0,1)) qtd_consultas_efetivadas, " +
" ( sum(decode(dt_marcacao_consulta,null,1,0)) + " +
" sum(decode((nvl(dt_marcacao_consulta,dt_disponib_agenda) - dt_disponib_agenda),0,0,1)) " +
" ) qtd_consultas, " +
" sum(nvl(dt_marcacao_consulta,dt_disponib_agenda) - dt_disponib_agenda) velocidade_dias, " +
" sum((nvl(dt_marcacao_consulta,dt_disponib_agenda) - dt_disponib_agenda)/24) velocidade_horas, " +
" sum((nvl(dt_marcacao_consulta,dt_disponib_agenda) - dt_disponib_agenda)/1440) velocidade_minutos " +
" , " +
" case " +
" when sum(decode((nvl(dt_marcacao_consulta,dt_disponib_agenda) - dt_disponib_agenda),0,0,1)) <> 0 then " +
" ( sum(nvl(dt_marcacao_consulta,dt_disponib_agenda) - dt_disponib_agenda) / " +
" sum(decode((nvl(dt_marcacao_consulta,dt_disponib_agenda) - dt_disponib_agenda),0,0,1)) " +
" ) " +
" else " +
" 0 " +
" end media_velocid_dias_consulta, " +
" case " +
" when sum(decode((nvl(dt_marcacao_consulta,dt_disponib_agenda) - dt_disponib_agenda),0,0,1)) <> 0 then " +
" ( sum((nvl(dt_marcacao_consulta,dt_disponib_agenda) - dt_disponib_agenda)/24) / " +
" sum(decode((nvl(dt_marcacao_consulta,dt_disponib_agenda) - dt_disponib_agenda),0,0,1)) " +
" ) " +
" else " +
" 0 " +
" end media_velocid_horas_consulta " +
" from tb_agenda_consulta " +
" where (fl_ex_pf = 0 and fl_ex_pj = 0 and fl_ex_fil = 0 and fl_ex_tot = 0) " +
" and cd_uf is not null ";
}
No caso acima, você irá apenas retornar um objeto String que já está no pool de constantes.
Mas ainda não estou entendendo o seu problema.