- Este tópico contém 4 respostas, 3 vozes e foi atualizado pela última vez 11 anos, 6 meses atrás por Fábio Prado.
-
AutorPosts
-
26 de abril de 2013 às 2:44 am #105358mpvargasParticipante
Caros amigos,
Já li vários artigos e várias opiniões de diversos DBA’s experientes…
Alguns falam que é correto e outros acham que não… Fico numa grande dúvida…
Tenho algumas tabelas particionadas, por range de data, mas meus índices não são particionados
Gostaria de saber a opinião dos colegas do GPO
Devo particionar também os índices ou não?
Faço esse particionamento por range de data, no caso o mesmo da tabela, e coloco em tablespaces diferentes? Isso seria o mais correto?
Alguém tem alguma experiencia se essa mudança realmente traz benefícios para o banco de dados…
Obrigado pela ajuda de todos.29 de abril de 2013 às 6:26 pm #105362hudsonaParticipanteAmigo,
Depende de como sua tabela é acessada, o tamanho dela, se os tablespaces estão em discos diferentes.
Trabalhei em um sistema no qual a principal tabela do sistema era particionada, os índices tinham particionamento local e isso era vital para a performance.Em outras tabelas índices globais resolviam o problema.
“Devo particionar também os índices ou não?”
Nos meus testes sempre que foi necessário particionar uma tabela, particionar os indices trouxe beneficio.Faço esse particionamento por range de data, no caso o mesmo da tabela, e coloco em tablespaces diferentes? Isso seria o mais correto?”
Depende do tipo de particionamento de índice que vai usar / Pra mim só faz sentindo se os tablespaces estão em discos diferentes.
1 de maio de 2013 às 2:15 am #105365Fábio PradoParticipante@mpvargas
A resposta do @hudsona está perfeita. Só p/ acrescentar um pouco mais de conteúdo, particionar os índices em tablespaces diferentes poderá te trazer benefícios (conforme estrutura de armazenamento de arquivos utilizada) e nunca te trará problemas, portanto, é melhor separá-los sempre e ter a possibilidade de ganhos de performance!
Qto aos índices serem particionados localmente ou serem globais, eu abordo este assunto no meu treinamento de Performance Tuning (http://www.fabioprado.net/p/performance-tuning-oracle-database.html
[]s
2 de maio de 2013 às 7:29 pm #105371mpvargasParticipanteCaros amigos… obrigado pela ajuda
Atualmente tenho 5 tabelas particionadas, todas por range de data, mas em nenhuma delas eu particionei os índices justamente por essa dúvida… numa dessas tabelas tenho 20GB só de índices, por isso fiquei com vontade de particionar, acreditando que com isso eu possa melhorar a performance
Na minha estrutura uso o Oracle 10g e Linux, com a seguinte distribuição:
FileSystem / => Instalação e Tablespaces de Sistema
FileSystem /dados => Tablespaces de Dados
FileSystem /indices => Tablespaces de Indices
FileSystem /logs => Tablespaces de logs + backupTenho 8 HD’s divididos em 4 pares de 2, todos espelhados (RAID 1)
Acho que pelos comentários que vocês fizeram e de acordo com minha estrutura atual, seria recomendável o particionamento dos índices, certo?
Só uma dúvida… com relação a sintaxe, é a mesma que é usada para o particionamento de tabelas?
Mais uma vez obrigado.7 de maio de 2013 às 11:42 pm #105383Fábio PradoParticipante@mpvargas,
Sempre que vc criar indices em uma tabela particionada os indices tambem serao particionados (localmente ou globalmente).
Crie indices particionados globais somente p/ retornar linhas únicas, caso contrário, crie índices particionados locais.
Para mais informações e sintaxe, sugiro a leitura do artigo abaixo:
http://myorastuff.blogspot.com.br/2008/ … ex-on.html[]s
-
AutorPosts
- Você deve fazer login para responder a este tópico.