Minha pergunta é simples, existe alguma maneira de calcular o número de vezes que um procedimento armazenado é chamado em aplicativos ou executado no servidor MySQL.
Por exemplo:
Nome do procedimento: sptest
Procedimento de execução: call sptest(1);
Existe alguma maneira de identificar o número de vezes que a instrução CALL sptest(1)
foi executada no servidor.
Desde já, obrigado.
Você pode criar uma tabela de mapeamento com duas colunas, uma chave (uma string contendo o nome do procedimento chamado mais argumentos, se necessário) e um valor (um inteiro contendo o número de vezes que o procedimento correspondente foi chamado).
A primeira coisa que você faz no procedimento que deseja monitorar é atualizar a tabela de mapeamento para registrar a chamada do procedimento (incrementando o contador). Essa lógica você pode encapsular em outro procedimento armazenado.
Essa abordagem será inconveniente se você precisar monitorar um grande número de procedimentos armazenados, mas funcionará para um número pequeno.
Olha eu faço dessa forma em uma tabela de auditoria, toda vez que essa função é executada eu coloco ela no pé da procedure e chamada toda vez que a consulta é executada.
e a consulta é: update audit set calls = calls + 1 where func = 'sptest';
Desta forma você já pode saber quantas vezes foi chamado e a data