Linguagem SQL: Capítulo 5 – Boas práticas de configuração de um Histórico e uma Consulta.

Históricos são módulos responsáveis pelo armazenamento de dados da aplicação em um Banco de Dados para análises futuras. É possível criar tantos arquivos de Históricos quantos forem necessários, cada um contendo diversos Tags ou expressões. Cada Histórico pode criar ou utilizar uma tabela independente dentro do Banco de Dados, cujo armazenamento pode ser definido por tempo ou por evento. A seguir, serão analisadas algumas práticas a serem adotadas durante a configuração de um histórico.

Chave Primária

A Chave Primária é um campo (ou um conjunto de campos) que identifica de maneira única cada registro de uma tabela. Após um campo ter sido definido como a chave primária da tabela, o próprio Banco de Dados garante que não sejam inseridos dados duplicados neste campo. Por exemplo, caso o usuário tente cadastrar um pedido com o mesmo número de um pedido já existente, o registro não será feito e uma mensagem de erro será mostrada. Há dois tipos de chave primária: Simples ou Composta.

Uma chave primária simples é um campo que identifica de modo único cada registro de uma tabela. Uma chave primária composta pode ser formada pela combinação de dois ou mais campos da tabela. Para inserir uma chave primária em um histórico, pode-se acessar o seu ícone ou selecionar o checkbox do campo desejado, conforme as figuras abaixo.


Figura 1: Ícone de Chave Primária 


Figura 2: Chave Primária

Índices

O SQL acessa dados de dois modos:

Via table scan:

Varre todas as páginas começando do início da tabela e extraindo o pedido da Query.

Através de índices:

Índices são campos (ou conjunto de campos) previamente ordenados pelo banco de dados a fim de melhorar a performance das consultas que utilizam estes índices. Eles são utilizados para rapidamente encontrar registros com um valor específico em uma coluna. Sem um índice, o Banco de Dados precisa iniciar com o primeiro registro e depois ler através de toda a tabela até que ele encontre os registros relevantes. Se a tabela possuir um índice para as colunas em questão, o Banco de Dados pode rapidamente obter uma posição para procurar no meio do arquivo de dados sem ter que varrer todos os registros. Isso não significa que deve-se inserir índices em todas as colunas, e sim apenas onde existem cláusulas de pesquisa (Where). Para inserir um índice em um histórico, pode-se acessar o seu ícone na configuração do histórico, conforme as figuras abaixo.


Figura 3: Ícone de Índices


Figura 4: Índices

Ao configurar um histórico, é necessário identificar qual o tipo de filtro será aplicado à tabela, e assim inserir índices nos campos que serão utilizados na busca. Por exemplo, caso seja realizado um filtro por data, deve-se inserir um índice no campo E3TimeStamp. Se outro campo da tabela também possuir uma cláusula de busca, outro índice deverá ser inserido.

Instruções para a configuração do histórico e da consulta

Dependendo da quantidade de dados retornados em uma consulta, ou do número de objetos que possuem consultas associadas, o acúmulo excessivo de dados pode gerar lentidão ao entrar em telas e ao retornar os dados provenientes das consultas. Na maioria dos casos, para obter uma melhora significativa na performance da aplicação, basta executar as mudanças abaixo:

1. Configure a propriedade CursorLocation da Consulta de cada um dos objetos (E3Browser, E3Chart, Relatório) como clClient (= 1).
2. Na(s) tabela(s), crie índice(s) em todos os campos que serão filtrados e adicione a chave primária (quando possível).
3. Verifique se a Consulta não está retornando os campos que não estão sendo utilizados.
4. Insira um espaço de tempo curto no valor inicial das variáveis que realizam o filtro por data.
5. Caso utilize um objeto E3Chart carregando muitas penas, selecione a espessura de linha mínima (0) na opção Estilo das propriedades de cada pena.

Ao utilizar índices e chaves primárias em comandos Insert, Delete e Update, ocorre o seguinte efeito:

  • Um índice ou uma chave primária torna o comando Insert mais lento.
  • Os comandos Delete e Update tornam-se mais rápidos se tiverem alguma cláusula de busca.

É importante salientar que a utilização de índices é extremamente recomendada para melhorar a performance das Consultas.

 

Este artigo foi útil? Was this post helpful?
Yes0
No0

Artigos Relacionados

Deixe seu Comentário

Seu endereço de e-mail não será publicado. Campos marcados com asterisco são obrigatórios *