Este é um post disponível para assinantes MVPArtigo SQL Magazine 16 - Introdução ao Funcionamento do Otimizador de um SGBDR
Artigo da Revista SQL Magazine - Edição 16.
Introdução ao Funcionamento do Otimizador de um SGBDR
por Evandro de Araújo Jardini e Caetano Traina Jr.
O otimizador de um Sistema de Gerenciamento de Banco de Dados Relacionais (SGBDR) é responsável por analisar uma consulta SQL e escolher qual a forma mais eficiente de executá-la. A escolha leva em consideração diversas informações internas do banco de dados. Este artigo explica, de forma geral, o funcionamento de um otimizador.
A Figura 1 representa os passos envolvidos na busca de informações. No passo 1, o usuário faz uma requisição de informações através do comando SELECT. Recebido o comando, o SGBDR irá procurar no disco as informações solicitadas (passo 2). Encontrando-as ou não, o SGBDR sempre retorna uma resposta para o usuário (passo 3). Detalharemos agora o passo 2 deste processo, focando especialmente o otimizador e os mecanismos utilizados por ele. Exemplos práticos serão demonstrados com os SGBDR InterBase e PostgreSQL.
Figura 1. Etapas do processo de consulta-resposta em um SGBDR.
Otimização em SGBDRs e Sistemas não Relacionais
Em bancos de dados não relacionais (Cobol, Clipper, Dbase, etc), fica a cargo do programador o processo de otimização de acesso, ou seja, ele é que determina como as informações devem ser acessadas. Nos SGBDRs, o otimizador leva em conta informações atuais do banco no momento da consulta para determinar o melhor plano de acesso aos dados.
A otimização em um SGBDR pode ser feita porque em SQL não se expressa “como” a consulta deve ser executada, mas sim “o que” se pretende recuperar, permitindo que o otimizador escolha o “como” da maneira mais adequada em determinado momento.
O Catálogo do Sistema em um SGBDR
O catálogo do sistema (metadado) mantém todas as informações referentes aos dados armazenados no SGBD, como informações sobre tabelas, índices, visões, procedimentos armazenados, etc. incluindo tanto descrições estáticas como dinâmicas. Alguns dos dados estáticos armazenados no catálogo do sistema são:
· Sobre Tabelas:
o Seu nome e a estrutura física interna no arquivo da base de dados.
o Nome dos atributos, o tipo de dado e tamanho de cada um.
o Os nomes dos índices sobre cada tabela.
o As restrições (chave primária, chave estrangeira, checks) sobre a tabela.
o Índices
o O nome do índice e a estrutura de organização (árvore B+, Hash, etc).
o "
ATENÇÃO! A exibição deste artigo foi interrompida.
Este é um post disponível para assinantes MVP



1
0
