Histórico da Página
Aviso |
---|
Este documento está em fase de elaboração, sendo que as informações ainda estão sendo revisadas. Não o utilize como referência até o momento de sua publicação. |
Informações |
---|
No banco de dados do Protheus, as seguintes opções devem estar habilitadas:
|
...
Informações | ||
---|---|---|
| ||
A boa manutenção do banco de dados impacta diretamente na performance do produto Protheus, principalmente em cenários com dicionário no banco de dados. O tempo de resposta da aplicação também é relacionado com o banco de dados: se o banco de dados responde mais rápido, a aplicação pode responder mais rápido. Isto não significa que outros fatores não impactem a performance do produto, apenas que a saúde do banco de dados é um dos fatores que têm esse impacto. |
Funcionamento do SGBD
Quando realizamos uma query no banco de dados, o SGBD procura trazer os dados da forma mais rápida possível. O SQL Server Query Optmizer realiza uma análise, verifica se existe um plano e se o mesmo precisa ser atualizado. Se não houver, ele criará um novo plano de acordo com a query. Podemos chamar o plano de consulta de caminho mais rápido para chegar à informação desejada, e para isso ele utiliza dois fatores principais.
O primeiro fator é a cardinalidade que, em resumo, significa a quantidade de linhas que serão acessadas pela query. O segundo fator são os operadores usados na query que mudam, e muito, o plano de execução.
Testes realizados
Realizamos uma consulta de exemplo em uma base de testes, na tabela SD3990, que possuía 1 milhão de registros.
...
Ao rodar novamente a query, o tempo teve um aumento de 143 ms para 1499 ms, ou seja, 1.048,25% em relação à consulta com estatísticas:
Comprovação dos testes e conclusão
No início deste documento, foram pontuados dois fatores que impactam diretamente a criação do plano de execução, que são a cardinalidade e os operadores.
...