DesenvolvimentoBanco de DadosPerformance de consultas em Tablespaces separados para Dados e...

Performance de consultas em Tablespaces separados para Dados e Índices

-

Publicidade

Olá pessoal,

No artigo de hoje vou falar rapidamente sobre um assunto que gera bastante polêmica entre os profissionais que trabalham com Banco de Dados (BD) Oracle e que pretendem otimizar o acesso aos dados através de configurações dos tablespaces. Existe um mito no mundo Oracle que diz que somente separar dados e índices em tablespaces diferentes pode otimizar consultas aos dados das tabelas envolvidas.

Imagem 01: Armazenamento de tabelas e índices em Tablespaces

Fonte: Oracle Corporation

 A verdade é que somente separar os dados e índices de uma tabela em tablespaces diferentes não é suficiente para otimizar o desempenho das consultas e atualizações. Ao ler as documentações oficiais da Oracle  OracleDatabase Performance Tuning Guide 10GR2 e OracleDatabase Performance Tuning Guide 11G Release 2, percebemos que em alguns trechos desses documentos, há informações incompletas que informam que separar os dados e índices em tablespaces diferentes pode otimizar o acesso aos dados. Um benefício pode existir se você configurar o tablespace de índices para não gerar log, porém essa configuração também pode não ter efeito se o BD foi configurado para forçar log (ALTER DATABASE FORCE LOGGING), configuração recomendada para ambientes com Data Guard.

Indo mais a fundo nas documentações citadas no parágrafo anterior, a Oracle informa que a leitura dos dados e índices de uma tabela é feita de forma sequencial, onde o índice é lido primeiro e a tabela é lida em seguida (quando necessário). Esta é uma informação que torna evidente o fato de que apenas separar dados e índices em tablespaces diferentes não pode melhorar a performance das consultas, pois o otimizador de queries do Oracle nunca irá ler as tabelas e índices ao mesmo tempo (ao contrário do que muitos pensam)!

Para melhorar a performance das consultas ao planejar o armazenamento de dados e índices, um dos melhores métodos é não apenas separar dados e índices em tablespaces diferentes, mas além disso, configurar o tablespace de índices para não gerar logs (avaliar muito bem o ambiente pois em alguns casos isso pode não ser uma boa opção) e criar o tablespace de índices com tamanho de blocos maior que o tamanho de blocos padrão do BD (8 kb). Em testes que eu demonstro nos meus treinamentos de SQL Tuning, blocos de 16 kb ou 32 kb para índices são ótimas opções para otimizar o acesso aos dados. Mais detalhes sobre o porquê do tamanho de bloco maior melhorar performance e como configurá-los, eu deixo para explicar nos meus treinamentos de SQL Tuning e Performance Tuning em Bancos de Dados.

Por hoje é só pessoal!

 []s

Referência:

  – Oracle Database Performance Tuning Guide    

Fabio Pradohttp://www.fabioprado.net
Sou DBA e instrutor de Bancos de Dados Oracle na FABIOPRADO.NET, articulista da revista SQL Magazine e diversos sites e blogs na área de TI e autor do blog www.fabioprado.net.FORMAÇÃO ACADÊMICA - MBA: Gestão Estratégica de Projetos (2008) - Pós-graduação: Gestão de Projetos em TI com PMBOK (2007) - Graduação: Bacharel em Ciências da Computação (2001)CERTIFICAÇÕES - Oracle PL/SQL Developer Certified Associate 11G: 09/2012 - Oracle Certified Professional (OCP) Database 11G: 08/2012 - Oracle Certified Professional (OCP) Database 10G: 09/2011 - Oracle Certified Associate (OCA) Database 10G: 08/2010 - Microsoft Certified Professional Developer (MCPD) .Net 2.0: 05/2010 - Microsoft Certified Trainer (MCT): 04/2010 - Microsoft Certified Technology Specialist (MCTS) .Net 2.0: 03/2010 - Microsoft Certified Database Administrator (MCDBA) SQL Server 2000: 08/2006 - Microsoft Certified Professional (MCP) Windows Server 2003: 08/2006 - Microsoft Solution Developer (MCSD) .Net 1.1: 09/2003 - Microsoft Certified Application Developer (MCAD) .Net 1.1: 04/2003 - Microsoft Solution Developer (MCSD) Visual Basic 6: 07/2002EXPERIÊNCIA PROFISSIONAL - Treinamentos em Dot Net e Bancos de Dados Oracle; - Administração, programação e tuning de Banco de Dados Oracle, SQL Server e MySQL, - Tuning de instruções SQL para Bancos de Dados: SQL Server, MySQL e Oracle; - Desenvolvimento de aplicações Windows e Web, críticas e de alta performance, utilizando POO, em equipe, com as seguintes linguagens de programação e ferramentas: Visual Basic .NET, Visual Basic 6.0, C#, ASP, ASP.NET, Javascript, CSS, HTML, Microsoft VSS e Crystal Reports (7.0, 8.5 e .NET); - Análise de Sistemas Orientados a objetos utilizando UML e metodologias baseadas no RUP e XP; - Gerenciamento de Projetos de Desenvolvimento de Software aplicando boas práticas do PMBOK.

Latest news

IA para MSPs: como a inteligência artificial está transformando o mercado de serviços gerenciados

A Inteligência Artificial (IA) está desempenhando um papel crucial na transformação dos Prestadores de Serviços Gerenciados (MSPs). Mais do...

O que é integração de sistemas de RH e como ela facilita o trabalho?

A integração de sistemas de RH traz muitos benefícios, principalmente em termos de otimização do tempo e de recursos. Sem ela, diferentes plataformas podem gerar dados desconexos e difíceis de consolidar, o que pode levar a erros e à sobrecarga de trabalho manual.

Cibersegurança como pilar da resiliência empresarial: a abordagem estratégica dos MSPs

Na última década, a segurança cibernética deixou de ser um tema restrito às áreas de TI para se tornar...

ADDEE traz HaloPSA ao Brasil, apostando na eficiência para MSPs

Plataforma de atendimento e automação promete otimizar a gestão de serviços com funcionalidades integradas para todo o ciclo de vida...
Publicidade

Plano de conteúdo para redes sociais: o que divulgar sendo uma empresa de TI?

Não encontrar o conteúdo certo para a rede social da sua empresa é um problema que está perto de acabar. Acesse e conheça o Plano de Conteúdo!

Estratégia de comunicação para TI: 5 erros para NÃO cometer

Existem 5 erros comuns que você não pode cometer mais na comunicação da sua empresa. Se você é um MSP que busca o sucesso, acesse e confira!

Must read

IA para MSPs: como a inteligência artificial está transformando o mercado de serviços gerenciados

A Inteligência Artificial (IA) está desempenhando um papel crucial...

O que é integração de sistemas de RH e como ela facilita o trabalho?

A integração de sistemas de RH traz muitos benefícios, principalmente em termos de otimização do tempo e de recursos. Sem ela, diferentes plataformas podem gerar dados desconexos e difíceis de consolidar, o que pode levar a erros e à sobrecarga de trabalho manual.
- Advertisement -

You might also likeRELATED
Recommended to you