Relatórios em tabelas do sistema
As tabelas do sistema são, por padrão, restritas ao módulo Relatório.
Essas tabelas incluem, entre outras:
- Auditoria do sistema [
sys_audit] - Registrar [
syslog] - Log de transações [
syslog_transaction] - Anexo [
sys_attachment] - E-mail [
sys_email]
O motivo disso é que sys_audit é normalmente a maior tabela em qualquer instância. Não é incomum que a tabela de auditoria, mesmo em uma instância de médio porte, tenha vários gigabytes. Em uma instalação grande, essa tabela pode ter 50 GB ou mais.
Quando acessamos a tabela sys_audit programaticamente, sabemos como será nosso padrão de consulta, portanto, adicionamos índices de dados apropriados para corresponder às nossas consultas. Isso significa que quando você exibe, por exemplo, o histórico de um incidente, o banco de dados pode usar um índice para extrair com eficiência as algumas dezenas de linhas necessárias para essa consulta.
Com o relatório de forma livre, no entanto, não podemos prever como será o seu padrão de consulta. Talvez você queira agrupar por fieldnameou classificar por oldvalue. Portanto, é possível que suas consultas não sejam indexadas. O resultado líquido é que você solicitará ao banco de dados para verificar a tabela de um arquivo de vários gigabytes, o que é ruim pelos seguintes motivos:
- É lento, portanto, seu relatório levará um tempo inaceitavelmente longo para ser executado.
- Enquanto o banco de dados verifica sua tabela, sua instância ficará mais lenta ou até mesmo ficará indisponível porque outras consultas não podem obter os recursos de que precisam.
Se você precisar relatar em uma tabela do sistema, poderá adicioná-la à propriedade glide.ui.permitted_tables. Navegar até e localize a propriedade rotulada Lista de tabelas do sistema (começando com "sys_", separadas por vírgulas) que são reportáveis. Por padrão, as tabelas do sistema não são reportáveis. Prossiga com cuidado.