Tabelas e índices
Processo auxiliar que apresenta informações sobre as tabelas do banco de dados e seus índices, incluindo estatísticas de armazenamento, quantidade de registros e estatísticas de uso dos índices. Tem o objetivo de permitir monitorar o crescimento das tabelas, identificar índices subutilizados e analisar a distribuição dos registros por classe de dados. É compatível com todos os bancos de dados suportados pelo sistema. No entanto, as informações apresentadas podem variar dependendo do banco de dados e da versão utilizada.
Interface padrão
A interface padrão do processo consiste das grades:
- Geral: exibe um resumo agregado do espaço em disco utilizado por todas as tabelas da base de dados.
- Estatísticas: exibe estatísticas globais de tuplas vivas e mortas da base de dados. Disponível apenas quando utilizado o PostgreSQL.
- Tabelas: lista detalhada de todas as tabelas com informações de armazenamento, quantidade de registros e índices.
Ao mudar a visão da grade Tabelas para o modo formulário, é possível visualizar os detalhes das colunas e índices de cada tabela.
Campos da grade Geral
Tamanho total: espaço total em disco ocupado por todas as tabelas, incluindo dados, TOAST (PostgreSQL), LOBs (Oracle e Microsoft SQL Server) e índices.
Qtd. de registros: soma da quantidade de registros de todas as tabelas da base de dados.
Dados (Heap) / Dados: espaço ocupado pelos dados principais das tabelas, excluindo TOAST ou LOBs e índices.
TOAST / LOBs: espaço ocupado pelo armazenamento TOAST (PostgreSQL), utilizado para valores de grande porte como textos longos e LOBs, ou pelos próprios objetos de grande porte (Oracle e Microsoft SQL Server).
Índices: espaço total em disco ocupado por todos os índices de todas as tabelas.
Campos da grade Estatísticas
Total de tuplas (PostgreSQL): quantidade total de tuplas na base de dados, incluindo tuplas vivas e mortas.
Tuplas vivas (PostgreSQL): quantidade de tuplas vivas na base de dados, acompanhada de seu percentual em relação ao total.
Tuplas mortas (PostgreSQL): total de tuplas mortas em todas as tabelas, ou seja, registros excluídos ou atualizados que ainda não foram removidos pelo VACUUM, acompanhado de seu percentual em relação ao total.
Último reset: data e hora do último reset das estatísticas da base de dados. A utilização de índices é monitorada a partir dessa data.
Campos da grade Tabelas
Tabela: nome da tabela no banco de dados.
Qtd Registros: quantidade estimada de registros na tabela.
Qtd Índices: quantidade de índices definidos na tabela.
Qtd Colunas: quantidade de colunas definidas na tabela.
Dados (Heap) / Dados: espaço ocupado pelos dados principais da tabela, excluindo TOAST ou LOBs e índices.
TOAST / LOBs: espaço ocupado pelo armazenamento TOAST (PostgreSQL) ou por objetos de grande porte (Oracle e Microsoft SQL Server).
Índices: espaço total em disco ocupado pelos índices da tabela.
Total: espaço total em disco ocupado pela tabela, incluindo dados, TOAST ou LOBs e índices.
% Total: percentual de espaço em disco ocupado por esta tabela em relação ao total da base de dados.
Tuplas vivas (PostgreSQL): número de tuplas vivas na tabela, ou seja, registros válidos e visíveis.
Tuplas mortas (PostgreSQL): número de tuplas mortas na tabela, ou seja, registros excluídos ou atualizados que ainda não foram removidos pelo VACUUM.
% Tuplas mortas (PostgreSQL): percentual de tuplas mortas em relação ao total de tuplas da tabela.
Campos da grade Colunas (modo formulário)
Coluna: nome da coluna na tabela.
Tipo de dado: tipo de dado da coluna conforme definido no banco de dados.
Possui histogramas: indica se a coluna possui histogramas calculados sobre seus dados.
Último cálculo de histogramas: data e hora da última atualização de cálculos dos histogramas da coluna.
Campos da grade Índices (modo formulário)
Nome do índice: nome do índice conforme definido no banco de dados.
Colunas indexadas: lista de colunas que compõem o índice, na ordem definida no banco de dados.
Tamanho: espaço em disco ocupado pelo índice.
Qtd acessos: número total de vezes que o índice foi utilizado desde o último reset das estatísticas.
Último acesso: data e hora da última utilização do índice. Indisponível no Postgres em versões inferiores a 16.
Os campos a seguir são exibidos exclusivamente para o PostgreSQL:
Tuplas lidas: número total de tuplas lidas pelo índice desde a última reinicialização das estatísticas.
Tuplas retornadas: número total de tuplas retornadas pelo índice desde a última reinicialização das estatísticas.
Os campos a seguir são exibidos exclusivamente para o Oracle:
Unicidade: indica se o índice é único ou não. Índices únicos garantem que os valores indexados sejam distintos.
Status: indica o status atual do índice.
Visibilidade: indica a visibilidade do índice.
Total de execuções: número total de execuções que utilizaram o índice.
Total de linhas retornadas: número total de linhas retornadas por varreduras que utilizaram o índice.
Os campos a seguir são exibidos exclusivamente para o Microsoft SQL Server:
Único: indica se o índice é único.
Chave primária: indica se o índice é uma chave primária.
Desabilitado: indica se o índice está desabilitado.
Seeks: número de operações de busca (seeks) realizadas utilizando este índice.
Último seek: data e hora da última operação de busca (seek) realizada utilizando este índice.
Scans: número de operações de varredura (scans) realizadas utilizando este índice.
Último scan: data e hora da última operação de varredura (scan) realizada utilizando este índice.
Lookups: número de operações de pesquisa (lookups) realizadas utilizando este índice.
Último lookup: data e hora da última operação de pesquisa (lookup) realizada utilizando este índice.
Atualizações: número de operações de atualização (updates) realizadas utilizando este índice.
Última atualização: data e hora da última operação de atualização (update) realizada utilizando este índice.
Operações comuns
Identificando índices não utilizados
Para exibir os índices que não foram utilizados desde o último reset das estatísticas, clique no botão Exibir índices não utilizados. O relatório exibirá os índices agrupados por tabela, com o nome do índice, as colunas indexadas, a data na qual o índice foi utilizado pela última vez, a quantidade de dias desde o último uso e o espaço em disco ocupado pelos índices.
Os filtros nesse relatório permitem filtrar apenas por índices não utilizados na validação de
integridade referencial, identificados pelo identificador _ri_ no nome do índice, e pela
quantidade de dias desde o último uso.
Ao avaliar os índices não utilizados é importante considerar os seguintes pontos:
- Verifique se as estatísticas foram reiniciadas recentemente. Operações importantes que utilizam índices específicos podem ser sazonais e não terem sido executadas dentro do período de coleta de estatísticas. Os índices necessários nessas operações podem ser fundamentais para a execução dessas operações, mesmo que apareçam como não utilizados no período observado.
- Índices utilizados na validação de integridade referencial (identificador
_ri_), não podem ser removidos mesmo que apresentem estatísticas de baixa utilização. A remoção de registros pode não ser uma operação comum em algumas classes de dados. No entanto, quando ela ocorre, esses índices são fundamentais para garantir que a verificação de integridade referencial seja eficiente e não degrade significativamente o desempenho do banco de dados. - O período de coleta de estatísticas varia de acordo com o banco de dados utilizado. No Oracle e PostgreSQL, as estatísticas de uso dos índices são coletadas a partir da criação da base de dados, podendo ser redefinidas manualmente ou de forma automática após a atualização de versão do banco de dados. No Microsoft SQL Server, as estatísticas de uso dos índices são voláteis e são perdidas a cada reinício do serviço do banco de dados.
Ordenando a lista de tabelas
Para alterar a ordenação da grade Tabelas, clique no botão Ordenar e selecione o critério desejado:
- Quantidade de registros: ordena as tabelas pela quantidade estimada de registros, da maior para a menor.
- Tamanho total: ordena as tabelas pelo espaço total em disco, da maior para a menor.
- % de tuplas mortas (PostgreSQL): ordena as tabelas pelo percentual de tuplas mortas, da maior para a menor.
Analisando a distribuição dos registros por classe de dados
Para visualizar como os registros de uma tabela estão distribuídos entre as classes de dados do sistema, selecione a tabela na grade Tabelas e clique no botão Exibir distribuição por classe. O processo exibirá uma tabela com a chave, a quantidade e o percentual de registros por classe de dados, além de um gráfico de pizza com as classes mais representativas. A coluna com as chaves das classes também traz um link para o processo ‘Explorador de classes’, mostrando a hierarquia da classe selecionada.
Esta operação só está disponível para tabelas que foram definidas no modelo de dados do sistema. Tabelas auxiliares criadas diretamente no banco de dados, sem correspondência no modelo de dados, não são suportadas.
Para a tabela ‘ilog’, além da distribuição por classe, também serão gerados um relatório e um gráfico com a distribuição por tipo de log.