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

 


Responder a