- Este tópico contém 9 respostas, 5 vozes e foi atualizado pela última vez 17 anos, 1 mês atrás por
crisborges.
-
AutorPosts
-
11 de fevereiro de 2009 às 8:11 pm #85253
Anônimo
Pessoal,
Estou tentando particionar uma tabela e estou fazendo o seguinte comando, mas está me gerando erro, o comando está certo?….o que está faltando?
alter table SPED.TBEA_LANCTO_CONTABIL
ADD PARTITION VALUES LESS THAN (MAXVALUE)11 de fevereiro de 2009 às 9:06 pm #85262adanelon
ParticipanteAproveitando o assunto, na empresa onde trabalho temos algumas tabelas de históricos com milhões de registros, e está sendo solicitado um plano de ação para melhor o desempenho das mesmas. Foi levantada a hipótese de particionar algumas delas, porém, um dos DBA’s justificou que o ganho da tabela com o particionamento é irrisório. Alguém poderia comentar sobre o ganho nesta atividade?
11 de fevereiro de 2009 às 9:07 pm #85263Ricardo Portilho Proni
ParticipanteSe a tabela não foi criada como particionada, você não pode adicionar uma partição.
Mas existem algums métodos para fazer isso.
Um é usar o DBMS_REDEFINITION.Veja aqui.
http://www.oracle-base.com/articles/mis … gTable.php11 de fevereiro de 2009 às 9:10 pm #85264crisborges
ParticipanteFala Cleber,
como particionamento é um assunto bastante extenso, fiz um exemplo que talvez seja mais objetivo e útil.
passo 1 :
create table tmp2 (codigo number(4),
descricao varchar2(1000))
partition by range (codigo)
(partition p1 values less than (250) ,
partition p2 values less than (500) ,
partition p3 values less than (1000));passo2:
ALTER TABLE tmp2
ADD PARTITION p4
VALUES LESS THAN(maxvalue);abs,
Cris Borges.11 de fevereiro de 2009 às 9:33 pm #85265crisborges
ParticipanteFala Adanelon,
esse assunto é 10!! Seguinte, em todas as minhas experiências com particionamento , sempre tivemos ganhos BASTANTE significativos, vamos ver alguns detalhes interessantes :
1 – Garantir um bom método de particionamento, por exemplo:
se estamos falando de tabelas de 100 milhões de registros, fazer ‘N’ partições de até 5 milhões (ou até menos registros), o ideal nesse ponto também é balancear a carga entre tablespace / datafiles / filesystems.2 – Criar indíces pertinentes às suas consultas, isso é muito importante para boa performance.
3 – Como estamos falando de performance, não podemos esquecer dam coleta de estatística em dia!!
Porque os ganhos são significativos, imagina procurar 1 linha em 100 milhões de registros, se a busca puder ser direcionada para uma partição específica (no nosso exemplo uma partição de 5 milhões de registros) ficará muito mais rápido. Em muitos casos a melhora passa de 200%.
Abs,
11 de fevereiro de 2009 às 10:25 pm #85274Anônimo
valeu galera….ajudou bastante.
11 de fevereiro de 2009 às 11:31 pm #85275Rodrigo Almeida
ParticipanteReforço as palavras do Cris.
Existem diversos pontos de ganhos de performance com tabelas particionadas, ** QUANDO SE HÁ UM GRANDE VOLUME DE DADOS **, os ganhos são muitos, isso é indiscutível.
E como dito os amigos, não basta apenas particionar a tabela e esperar vim o ganho de performance, tem que saber estruturar, saber utilizar o melhor algoritmo de particionamento para a sua regra de negócio. Se vai utilizar LIST, HASH ou RANGE PARTITION, se vai utilizar particionamento composto, quais serão as chaves de particionamento da tabela, a distribuição física no servidor, quais os melhores índices para a tabela, LOCAL ou DOMAIN Partition… e por aí vai…
Na internet tem bastante literatura sobre o assunto, e caso tenha dúvidas, poste aqui para nós!!!
Abraços,
Rodrigo Almeida12 de fevereiro de 2009 às 3:58 am #85276adanelon
ParticipanteValeu pela ajuda, vou ler sobre os métodos de particionamento, e depois argumentar com o DBA. Obrigado.
12 de fevereiro de 2009 às 7:19 pm #85292adanelon
ParticipanteMais uma dúvida a caminho: é necessária uma licença da Oracle para utilizar o particionamento?
12 de fevereiro de 2009 às 8:48 pm #85298crisborges
ParticipanteNa verdade Adanelon, a função de particionamento de segmentos só funciona com versões enterprise do database.
Essa versão tem preços diferenciados das demais (é mais cara $$$$ sem dúvida) .Abs,
-
AutorPosts
- Você deve fazer login para responder a este tópico.