http://www.oracle.com/technology/products/oracle9i/datasheets/iots/iot_ds.html
--- Em sex, 3/4/09, Mauricio Lobão <mauricio.lo...@gmail.com> escreveu: De: Mauricio Lobão <mauricio.lo...@gmail.com> Assunto: [oracle_br] Re: Order by tabela temporaria com 4 MI registro. Como fazer ? Para: oracle_br@yahoogrupos.com.br Data: Sexta-feira, 3 de Abril de 2009, 19:40 Ahh...não conheço o conceito de IOT...tem algum lugar onde possa aprender ? --- Em oracle...@yahoogrup os.com.br, Mauricio Lobão <mauricio.lobao@ ....> escreveu > > Caio, > > Eu preciso de todos os dados....eu faço um loop percorrendo as partições de > uma tabela e inserindo nesta temporaria.. .que irá retornar o cursor com > todos estes dados ordenados... > > > PROCEDURE RETIRADA_PREMIOS( QUEUE_CODE VARCHAR2, > DATA_RETIRADA_ INICIAL VARCHAR2, > DATA_RETIRADA_ FINAL VARCHAR2, > OUT_SERVICE OUT REF_CURSOR) > > OPEN OUT_SERVICE FOR 'SELECT BNF_NR, PREMIO, TO_CHAR(DATARETIRAD > A,''YYYYMMDDHHMI SS'') AS DATARETIRADA, STATUS, MSISDN FROM ADMINPROV2_10. > MED_RETIRADA_ PREMIOS_TEMP ORDER BY DATARETIRADA, BNF_NR '; > > Quando fui realizar o trace deu o seguinte erro: > SQL> set autot on > SP2-0618: Cannot find the Session Identifier. Check PLUSTRACE role is enabled > SP2-0611: Error enabling STATISTICS report > > Abs > > --- Em oracle...@yahoogrup os.com.br, Caio Spadafora <caiospadafora@ > > escreveu > > > > Mauricio, > > > > Nesse caso, considerando que a lógica utilizada é a unica possibilidade, > > você vai ter que atuar em outras camadas. Uma sugestão seria utilizar uma > > tabela particionada pelo campo de data, mas mesmo assim, se você precisasse > > de TODOS os registros de nada adiantaria. > > > > Antes de executar um trace, explique um pouco mais do fluxo de dados.. > > > > Você monta essa tabela temporario, busca os 4 milhões de registros > > ordenados por um determinado conjunto de colunas e depois faz o que com os > > dados? > > > > Você conhece o conceito de IOT? > > > > Atenciosamente, > > Caio Spadafora. > > http://0011brothers .blogspot. com/ > > > > --- Em sex, 3/4/09, Mauricio Lobão <mauricio.lobao@ > escreveu: > > > > De: Mauricio Lobão <mauricio.lobao@ > > > Assunto: [oracle_br] Re: Order by tabela temporaria com 4 MI registro. Como > > fazer ? > > Para: oracle...@yahoogrup os.com.br > > Data: Sexta-feira, 3 de Abril de 2009, 19:16 > > > > > > > > > > > > > > > > > > > > > > > > > > Eu preciso retornar um cursor com esses dados da tabela > > temporaria ordenados por este campo... > > > > > > > > OPEN OUT_SERVICE FOR 'SELECT BNF_NR, PREMIO, TO_CHAR(DATARETIRAD > > A,''YYYYMMDDHHMI SS'') AS DATARETIRADA, STATUS, MSISDN FROM XXXXX ORDER BY > > DATARETIRADA, BNF_NR '; > > > > > > > > Ja utilizo Bulk para realizar a inserção na tabela temporaria.. .. . > > > > > > > > Abs > > > > > > > > --- Em oracle...@yahoogrup os.com.br, Júlio César Corrêa <juliotubista@ > > ...> escreveu > > > > > > > > > > no sqlplus: > > > > > set timing on > > > > > set autot on > > > > > > > > > > para testar i plano sem executar a consulta: > > > > > > > > > > set autot traceonly explain > > > > > > > > > > 2009/4/3 Júlio César Corrêa <juliotubista@ ...> > > > > > > > > > > > NAO. > > > > > > Porque você ordenaria? > > > > > > Tem que ter uma justificativa bem elaborada para tal. > > > > > > > > > > > > Após o seu loop percorrer e tal,e você colocar os seus registros em > > > > > > memória,o que você faz com estes 4MI de registros? > > > > > > > > > > > > O Oracle simplesmente vai tentar ordenar todas os 4 MILHOES de > > > > registros em > > > > > > memória ,caso não consiga,vai fazer isso em disco(segmento da tablespace > > > > > > temporária). > > > > > > > > > > > > Você tem um loop que faz o processamento linha a linha ok? > > > > > > Não há possibilidade de colocá-lo em lotes ou blocos e inseri-los?Usando > > > > > > Bulk e tal ? > > > > > > > > > > > > Vai um link para você dar uma olhada e ver se pode usar algo parecido.Na > > > > > > internet tem varios exemplos,site da oracle ou a galera do grupo pode > > > > ajudar > > > > > > quando tiver sem um norte. > > > > > > > > > > > > http://mportes. blogspot. com/2007/ 03/bulk-collect_ 12.html > > > > > > > > > > > > Dependendo do que você faz,poderia usar > > > > > > 2009/4/3 Mauricio Lobão <mauricio.lobao@ ...> > > > > > > > > > > > > Pessoal, > > > > > >> > > > > > >> To com um problema...to precisando otimizar a performance de uma > > > > > >> rotina...existe uma query em cima de uma tabela temporaria que possui 4 > > > > > >> milhoes de registros... a tabela é indexada por estes dois campos > > > > > >> (DATARETIRADA, BNF_NR) que são utilizados na ordenação. > > > > > >> > > > > > >> Minha dúvida...é necessário realizar a ordenação na tabela já que > > > >> possui > > > > > >> este indice ? O insert nesta tabela é feito através de um loop que > > > >> percorre > > > > > >> as partições de uma tabela e insere nesta temporaria. > > > > > >> > > > > > >> Alguem tem outra solução para este problema ? > > > > > >> > > > > > >> Indice: > > > > > >> CREATE INDEX XXXX ON XXXXX > > > > > >> (DATARETIRADA, BNF_NR) > > > > > >> NOLOGGING > > > > > >> NOPARALLEL; > > > > > >> > > > > > >> Query: > > > > > >> SELECT BNF_NR, PREMIO, TO_CHAR(DATARETIRAD A,''YYYYMMDDHHMI SS'') AS > > > > > >> DATARETIRADA, STATUS FROM XXXXXXXXX ORDER BY DATARETIRADA, BNF_NR > > > > > >> > > > > > >> Agradeço desde já. > > > > > >> > > > > > >> > > > > > >> > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > Júlio César Corrêa > > > > > > IS Technologist - Oracle DBA > > > > > > http://jccorrea. blogspot. com > > > > > > > > > > > > "To stay competitive in the tech industry, never stop > > > > > > learning. Always be on the lookout for better ways of > > > > > > doing things and new technologies. Our industry does > > > > > > not reward people who let themselves stagnate" > > > > > > -John Hall, Senior Vice President, Oracle University > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > Júlio César Corrêa > > > > > IS Technologist - Oracle DBA > > > > > http://jccorrea. blogspot. com > > > > > > > > > > "To stay competitive in the tech industry, never stop > > > > > learning. Always be on the lookout for better ways of > > > > > doing things and new technologies. Our industry does > > > > > not reward people who let themselves stagnate" > > > > > -John Hall, Senior Vice President, Oracle University > > > > > > > > > > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Veja quais são os assuntos do momento no Yahoo! +Buscados > > http://br.maisbusca dos.yahoo. com > > > > [As partes desta mensagem que não continham texto foram removidas] > > > Veja quais são os assuntos do momento no Yahoo! +Buscados http://br.maisbuscados.yahoo.com [As partes desta mensagem que não continham texto foram removidas]