Não criei índice algum, mas só com o ano e a plataforma não teria que ir na partição e fazer um FULL nela ?
Ronaldo. De:[email protected] Para:"[email protected]" [email protected] Cópia: Data:Wed, 22 Jun 2005 12:47:40 -0300 Assunto:RES: [oracle_br] Select Tabela Particionada Olá Ronaldo, Em seu teste vc não referenciou a criação do índice respectivo (ano_mes e plataforma) à tabela, o que poderia garantir um outro plano de execução. Vc chegou a criar esse indice ? [ ]'s Salvio -----Mensagem original----- De: Ronaldo Sales [mailto:[EMAIL PROTECTED] Enviada em: quarta-feira, 22 de junho de 2005 10:22 Para: oracle_br Assunto: Re: [oracle_br] Select Tabela Particionada Sem querer abusar. Olha o meu teste completo Anderson. O campo anomes é numérico e o plataforma só pode ter 11 ou 12. Desculpa se eu to abusando, mas de repente vc vê alguma coisa que eu não vi e fiz errado. CREATE TABLE part_ronaldo (ANOMES NUMBER(6) NOT NULL, PLATAFORMA NUMBER(2) NOT NULL, COD_CLIENTE NUMBER(7) , COD_CELULAR NUMBER(7) ) PARTITION BY RANGE (ANOMES,PLATAFORMA) ( PARTITION P20041111 VALUES LESS THAN (200412,12) ,PARTITION P20041112 VALUES LESS THAN (200412,13) ,PARTITION P20041211 VALUES LESS THAN (200501,12) ,PARTITION P20041212 VALUES LESS THAN (200501,13)) -- inserindo linhas. 1milhão para o mês de novembro 2004 1 insert into PART_RONALDO 2 select 200411, decode(mod(rownum,2),0,12,11), rownum, 23 3 from tmp_mc_fact_rent_200411 4* where rownum <= 1000000 __SP>/ 1000000 linhas criadas. Decorrido: 00:01:01.02 __SP>commit; Validação completa. Decorrido: 00:00:00.01 -- inserindo linhas. 1milhão para o mês de Dezembro 2004 1 insert into PART_RONALDO 2 select 200412, decode(mod(rownum,2),0,12,11), rownum, 23 3 from tmp_mc_fact_rent_200411 4* where rownum <= 1000000 __SP>/ 1000000 linhas criadas. Decorrido: 00:02:35.00 __SP>commit; Validação completa. Decorrido: 00:00:00.00 1 select SUM(bytes) / 1024 "Size [Kb]", partition_name from user_segments 2 where segment_name = 'PART_RONALDO' 3* GROUP BY partition_name __SP>/ Size [Kb] PARTITION_NAME ---------- ------------------------------ 34816 P20041111 12288 P20041112 64 P20041211 64 P20041212 Decorrido: 00:00:03.01 *** ANALISANDO *** __SP>analyze table PART_RONALDO compute statistics; Tabela analisada. Decorrido: 00:05:03.03 __SP> SELECT * 2 FROM PART_RONALDO 3 WHERE PLATAFORMA = 11 4 AND ANOMES = 200411; Decorrido: 00:00:00.00 Execution Plan ---------------------------------------------------------- 0 SELECT STATEMENT Optimizer=CHOOSE (Cost=106 Card=375000 Byte s=4500000) 1 0 TABLE ACCESS (FULL) OF 'PART_RONALDO' (Cost=106 Card=37500 0 Bytes=4500000) *** Agora eu tento ver os valores que estão nas partições. **** __SP>SELECT distinct anomes, plataforma 2 FROM PART_RONALDO partition(P20041111); ANOMES PLATAFORMA ---------- ---------- 200411 11 200411 12 200412 11 1 SELECT distinct anomes, plataforma 2* FROM PART_RONALDO partition(P20041112) __SP>/ ANOMES PLATAFORMA ---------- ---------- 200412 12 1 SELECT distinct anomes, plataforma 2* FROM PART_RONALDO partition(P20041211) __SP>/ não há linhas selecionadas Decorrido: 00:00:00.00 1 SELECT distinct anomes, plataforma 2* FROM PART_RONALDO partition(P20041212) __SP>/ não há linhas selecionadas Decorrido: 00:00:00.00 De:[email protected] Para:[email protected] Cópia: Data:Wed, 22 Jun 2005 09:51:37 -0300 Assunto:Re: [oracle_br] Select Tabela Particionada Ronaldo, Quando não se referencia o campo chave da Partição (mes+plataforma, *pode ser este o problema*), o Banco irá ler todas as partições existentes. Não esqueça também, você precisa ter estatísticas fresquinhas para todas as partições. Atenciosamente, Anderson Haertel Rodrigues Administrador de Banco de Dados Oracle 9i Database Administrator Certified Microsoft Certified Professional SQL Server 2000 Florianópolis/SC ----- Original Message ----- From: "Ronaldo Sales" To: "oracle_br" Sent: Wednesday, June 22, 2005 9:33 AM Subject: Re: [oracle_br] Select Tabela Particionada Valeu Anderson, eu imaginei mesmo. É que ontem eu fiquei fazendo uns testes aqui num 8.1.7.4.0 e no plano de execução não fazia referencia a partição, que aliás eu criei por chave composta (mes, plataforma). Pior que inseri uns dados, rodei analyze. E mesmo assim ele full na tabela toda. Ronaldo. De:[email protected] Para:[email protected] Cópia: Data:Wed, 22 Jun 2005 09:17:41 -0300 Assunto:Re: [oracle_br] Select Tabela Particionada Ronaldo, Se houverem estatísticas fresquinhas, etc, o Banco vai ler apenas os blocos que fazem parte da Partição do mês "XX". Atenciosamente, Anderson Haertel Rodrigues Administrador de Banco de Dados Oracle 9i Database Administrator Certified Microsoft Certified Professional SQL Server 2000 Florianópolis/SC ----- Original Message ----- From: "Ronaldo Ap. de Sales" To: Sent: Tuesday, June 21, 2005 8:10 PM Subject: [oracle_br] Select Tabela Particionada > > Uma pergunta boba. > > Se eu tenho uma tabela particionada pelo campo MES. > > Digamos que eu faça um select assim: > > SELECT * > FROM TABELA > WHERE MES = XXXXXXX > > O Banco vai direto na partição do mês ou eu tenho que informar a clausula > Partition no FROM ? > > Ronaldo. > > > > > ______________________________________________________________________ > > Cancelar assinatura...: [EMAIL PROTECTED] > Moderadores da lista....:Dorian Anderson Soutto [EMAIL PROTECTED] > Fernanda Damous [EMAIL PROTECTED] > Alisson Aguiar [EMAIL PROTECTED] > ______________________________________________________________________ > http://br.groups.yahoo.com/group/oracle_br/ > ______________________________________________________________________ > > Sair da Lista...: [EMAIL PROTECTED] > Links do Yahoo! Grupos > > > > > > > > ______________________________________________________________________ Cancelar assinatura...: [EMAIL PROTECTED] Moderadores da lista....:Dorian Anderson Soutto [EMAIL PROTECTED] Fernanda Damous [EMAIL PROTECTED] Alisson Aguiar [EMAIL PROTECTED] ______________________________________________________________________ http://br.groups.yahoo.com/group/oracle_br/ ______________________________________________________________________ Sair da Lista...: [EMAIL PROTECTED] Links do Yahoo! Grupos [As partes desta mensagem que não continham texto foram removidas] ______________________________________________________________________ Cancelar assinatura...: [EMAIL PROTECTED] Moderadores da lista....:Dorian Anderson Soutto [EMAIL PROTECTED] Fernanda Damous [EMAIL PROTECTED] Alisson Aguiar [EMAIL PROTECTED] ______________________________________________________________________ http://br.groups.yahoo.com/group/oracle_br/ ______________________________________________________________________ Sair da Lista...: [EMAIL PROTECTED] Links do Yahoo! Grupos ______________________________________________________________________ Cancelar assinatura...: [EMAIL PROTECTED] Moderadores da lista....:Dorian Anderson Soutto [EMAIL PROTECTED] Fernanda Damous [EMAIL PROTECTED] Alisson Aguiar [EMAIL PROTECTED] ______________________________________________________________________ http://br.groups.yahoo.com/group/oracle_br/ ______________________________________________________________________ Sair da Lista...: [EMAIL PROTECTED] Links do Yahoo! Grupos [As partes desta mensagem que não continham texto foram removidas] ______________________________________________________________________ Cancelar assinatura...: [EMAIL PROTECTED] Moderadores da lista....:Dorian Anderson Soutto [EMAIL PROTECTED] Fernanda Damous [EMAIL PROTECTED] Alisson Aguiar [EMAIL PROTECTED] ______________________________________________________________________ http://br.groups.yahoo.com/group/oracle_br/ ______________________________________________________________________ Sair da Lista...: [EMAIL PROTECTED] Links do Yahoo! Grupos [As partes desta mensagem que não continham texto foram removidas] ______________________________________________________________________ Cancelar assinatura...: [EMAIL PROTECTED] Moderadores da lista....:Dorian Anderson Soutto [EMAIL PROTECTED] Fernanda Damous [EMAIL PROTECTED] Alisson Aguiar [EMAIL PROTECTED] ______________________________________________________________________ http://br.groups.yahoo.com/group/oracle_br/ ______________________________________________________________________ Sair da Lista...: [EMAIL PROTECTED] Links do Yahoo! Grupos [As partes desta mensagem que não continham texto foram removidas] ______________________________________________________________________ Cancelar assinatura...: [EMAIL PROTECTED] Moderadores da lista....:Dorian Anderson Soutto [EMAIL PROTECTED] Fernanda Damous [EMAIL PROTECTED] Alisson Aguiar [EMAIL PROTECTED] ______________________________________________________________________ http://br.groups.yahoo.com/group/oracle_br/ ______________________________________________________________________ Sair da Lista...: [EMAIL PROTECTED] Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/oracle_br/ <*> Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
