Administração do sistema

SQL para saber quais os campos mais utilizados como filtro

RT.FAQ-150064
Para saber quais os campos mais utilizados como filtro em uma QUERY nos ultimos 7 dias, basta informar o nome global do bloco e executar o SQL abaixo. O valor apresentado para cada campo é o percentual de vezes que ele é usado como filtro nas pesquisas.
set bloco 'PROD.CAD_PRODUTOS';

select campo
, count(1) * 100.0 /total as percentual
, total
from (
   select id
   , substring(filtro,3,pos-3) as campo
   , total
   from (
       select id
       , filtro
       , position('=' in filtro) as pos
       , total
       from (
           select id
           , unnest(query) as filtro
           , total
           from (
               select string_to_array(descricao,chr(10)) as query
               , id
               , count(1) over() as total
               from logs
               where data_hora > current_date - 7
               and origem = '${bloco}'
               and descricao like 'Z_ACTION=LIST%'
               and tipo = 'REQUEST'
           ) q
       ) q
       where filtro like 'Q%'
       and filtro not like '%=|='
       and filtro not like '%=|s'
       and filtro not like '%=|d'
       and filtro not like '%=|b|'
       and filtro not like '%=|b'
       and filtro not like '%=|nn'
   ) q
) q
group by campo, total
order by 2 desc

Ver também: