Você está na página 1de 4

Linguagem SQL: Capítulo 5 – Boas práticas de

configuração de um Histórico e uma Consulta.


kb.elipse.com.br/linguagem-sql-capitulo-5-boas-praticas-de-configuracao-de-um-historico-e-uma-consulta/

Délio Damin 25 de março de 2019

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

1/4
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.

2/4
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.

3/4
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.

Artigos Relacionados

Linguagem SQL: Introdução.


Linguagem SQL: Capítulo 1 – Tipos de Manipulação de Informações no BD.
Linguagem SQL: Capítulo 2 – Arquivos e Logs do Banco de Dados SQL Server.
Linguagem SQL: Capítulo 3 – Descarte de Dados e Limite dos Bancos.
Linguagem SQL: Capítulo 4 – Backup.
Linguagem SQL: Capítulo 6 – Comandos SQL.
Linguagem SQL: Capítulo 7 – Views.
Linguagem SQL: Capítulo 8 – Triggers.
Linguagem SQL: Capítulo 9 – Stored Procedures.

4/4

Você também pode gostar