[oracle_br] Re: Dúvida Partition

2010-07-23 Por tôpico José Laurindo
Claro que tem, se vc particionar por lista (parece ser o que vc quer) seria a 
partição DEFAULT, tipo : 

CREATE TABLE ...
 PARTITION BY LIST (nomedacoluna) 
 (
 PARTITION P1
VALUES (5, 7, 59) ,
 PARTITION P2
VALUES (DEFAULT)
 );

 Dá um look no manual Oracle® Database Administrator's Guide que no cap. 16 
Managing Partitioned Tables and Indexes tem exemplinho e conceitos...


 Agora, o particionamento por si só ** não faz milagre **, ele só causa melhora 
em performance ** SE ** :

 - vc está tendo que acessar uma grande quantidade de linhas, VARRENDO a tabela 
e/ou o índice via full-table-scan ou index fast scan ou coisa do tipo :  SE vc 
está acessando via poucas leituras em índice vc vai é DEGRADAR a performance 
particionando

E

 - as linhas TODAS desejadas estão numa partição só (ou em muito poucas num 
universo de muitas)

E

 - o total de linhas a serem recuperadas dentro da partição onde estão os dados 
é *** MUITÍSSIMO ** menor do que a quantidade de linhas sendo lidas no total 
hoje

E

 - as queries TODAS mais importantes hoje já acessam o campo-chave da partição 
no WHERE , ou podem ser alteradas pra isso, e/ou podem ter o indicador de 
PARTITION adicionado

 okdoc ? Se vc não tem esses pre-reqs imho nem adianta muito testar 
particionamento...

 []s

  Chiappa

--- Em oracle_br@yahoogrupos.com.br, francisco porfirio 
francisco.porfi...@... escreveu

 Pessaol,
 
 Estou querendo fazer alguns testes de performance utilizando particionamento
 de tabela.
 A partição será realizada na coluna X, porém, para o meu problema não posso
 determinar que a particao 1 irá armazenar a coluna x quando X  100.
 
 Precisaria de algo como:
 partition part1 values (5, 7, 59) tablespace users,
 partition part2 values (todos os demais valores menos os da
 part1)tablespace users);
 
 Ou seja, na part1 sei exatamente os valores que pretendo armazenar, na part2
 são todos os valores menos os da part1.
 Alguem sabe se tem algo que me permita fazer isso com partition?
 
 Versão oracle: 10.2.0.4.0
 
 
 -- 
 Atenciosamente
 Francisco Porfirio Ribeiro Neto
 
 
 [As partes desta mensagem que não continham texto foram removidas]





[oracle_br] Re: Dúvida Partition

2010-07-23 Por tôpico José Laurindo
Claro que tem, se vc particionar por lista (parece ser o que vc quer) seria a 
partição DEFAULT, tipo : 

CREATE TABLE ...
 PARTITION BY LIST (nomedacoluna) 
 (
 PARTITION P1
VALUES (5, 7, 59) ,
 PARTITION P2
VALUES (DEFAULT)
 );

 Dá um look no manual Oracle® Database Administrator's Guide que no cap. 16 
Managing Partitioned Tables and Indexes tem exemplinho e conceitos...


 Agora, o particionamento por si só ** não faz milagre **, ele só causa melhora 
em performance ** SE ** :

 - vc está tendo que acessar uma grande quantidade de linhas, VARRENDO a tabela 
e/ou o índice via full-table-scan ou index fast scan ou coisa do tipo :  SE vc 
está acessando via poucas leituras em índice vc vai é DEGRADAR a performance 
particionando

E

 - as linhas TODAS desejadas estão numa partição só (ou em muito poucas num 
universo de muitas)

E

 - o total de linhas a serem recuperadas dentro da partição onde estão os dados 
é *** MUITÍSSIMO ** menor do que a quantidade de linhas sendo lidas no total 
hoje

E

 - as queries TODAS mais importantes hoje já acessam o campo-chave da partição 
no WHERE , ou podem ser alteradas pra isso, e/ou podem ter o indicador de 
PARTITION adicionado

 okdoc ? Se vc não tem esses pre-reqs imho nem adianta muito testar 
particionamento...

 []s

  Chiappa

--- Em oracle_br@yahoogrupos.com.br, francisco porfirio 
francisco.porfi...@... escreveu

 Pessaol,
 
 Estou querendo fazer alguns testes de performance utilizando particionamento
 de tabela.
 A partição será realizada na coluna X, porém, para o meu problema não posso
 determinar que a particao 1 irá armazenar a coluna x quando X  100.
 
 Precisaria de algo como:
 partition part1 values (5, 7, 59) tablespace users,
 partition part2 values (todos os demais valores menos os da
 part1)tablespace users);
 
 Ou seja, na part1 sei exatamente os valores que pretendo armazenar, na part2
 são todos os valores menos os da part1.
 Alguem sabe se tem algo que me permita fazer isso com partition?
 
 Versão oracle: 10.2.0.4.0
 
 
 -- 
 Atenciosamente
 Francisco Porfirio Ribeiro Neto
 
 
 [As partes desta mensagem que não continham texto foram removidas]