Pular para o conteúdo
  • Este tópico contém 8 respostas, 4 vozes e foi atualizado pela última vez 16 anos, 9 meses atrás por Thiago Vilhena.
Visualizando 9 posts - 1 até 9 (de 9 do total)
  • Autor
    Posts
  • #86993
    Thiago Vilhena
    Participante

      Pessoal! me ajudem ai por favor preciso criar uma tabela , sem indice com o freelist de 10 e carregue 2.000.000 de linhas. A tebala devera ter 10 campos. Commit de 2000 em 2000. Carregue primeiramente sem o hint de append , meça o elapse time.

      Limpe a tabela e faça o mesmo com o hint de apeend

      A tabeladevera ser criada com nologging.

      tipo eu criei a tabela

      CREATE TABLE “SCOTT”.”TAB_SPED_TESTE3″ ( “ID” NUMBER(10) NOT NULL , “FUNCIONARIO” VARCHAR2(50), “EMAIL” VARCHAR2(100), “ENDERECO” VARCHAR2(100), “CEP” NUMBER(20), “CELULAR” NUMBER(20), “DATA_NASCIMENTO” DATE, “ESTADO_CIVIL” VARCHAR2(50), “DATA_ATUAL” DATE, “NOME_MAE” VARCHAR2(30)) STORAGE ( INITIAL 20M)

      até ai beleza
      so que para inserir o cara que me pediu quer que eu insira meio assim

      select ‘insert into scott.tab_sped_teste3 values

      (||1||,’||thiago||’,’||thiago@gmail.com||’,’||castelinho||’,||21010154||,||76085996||,||10/02/1766||,’||enrolado||’,||25/05/2009||,’||MAMEQUERIDA||’)’ from scott.tab_sped_teste3; ( que nao esta funcionando!!!)

      bom isso é pra hoje ainda!
      =/…

      abração pessoal

      #86996
      Avatar photoLeonardo Litz
      Participante

        Thiago, seguinte

        o seu exemplo deve ficar assim

        select ‘insert into scott.tab_sped_teste3 values (”’||1||”’,”’||’thiago’||”’,”’||’thiago@gmail.com’||”’,”’||’castelinho’||”’,”’||’21010154’||”’,”’||’76085996’||”’,to_date(”’||’10/02/1766’||”’,”dd/mm/yyyy”),”’||’enrolado’||”’,to_date(”’||’25/05/2009’||”’,”dd/mm/yyyy”),”’||’MAMEQUERIDA’||”’);’ from scott.tab_sped_teste3

        Só que temos algumas considerações, lá vai:

        1º Se vc acabou de criar a tabela tab_sped_teste3, ela não terá registros, logo o retorno desta query será nada, não irá trazer o resultado que você espera, tente utilizar o dual para ver o resultado, e execute este.

        2º Desta forma irá gerar um comando insert para cada linha, imagine 2 milhoes de insertes isso em um arquivo texto vai ficar de um tamanho enorme.

        3º Quando vc salvar este retorno de select em um arquivo texto, vc terá que colocar os comits manualmente.

        Exemplifiquei no seu post anterior uma forma mais fácil de se fazer.

        Vlw Leonardo Litz

        #86998
        Thiago Vilhena
        Participante

          Beleza cara vlw pela força ai!!

          eu to fazendo aqui, mas na verdade nao sei com exatidao o que o maluco quer, tipo ele quer ver o tempo que a query gasta executando com append e o tempo que ela gasta executando sem append!!

          #86999
          Thiago Vilhena
          Participante

            Dale Galera to consseguindo aque xDDDD

            so quero saber so + uma parada, como que eu faço pra saber o tempo que uma determinada query levou? eu quero saber o tempo de ELAPS!!

            posso estar enganado + eu ouvi algo com SPOOL ou algo parecido!!

            deixa eu explicar, o DBA mega super hiper hiper plus pediu para que eu criase uma tabela com 2milhoes de registros, e visse o tempo de elapse que um comando sql leva com um append e o tempo de elapse que o comando sql leva sem append.

            so falta eu descobrir como que ve o tempo de elapse

            abração pra galera!!!

            #87001
            Manoel872
            Participante

              Executa com um trace e depois usa o tkprof… acho q essa e uma possivel solução.

              #87002
              ramasine
              Participante

                Gera o spool, e logo após SET TIMING ON, se for via tool sqlplus..

                #87003
                Thiago Vilhena
                Participante

                  como que eu faço esse spool ai?

                  #87004
                  ramasine
                  Participante

                    Já no sqlplus:

                    SQL> spool c:query.txt
                    SQL> SET TIMING ON
                    SQL> execute a sua query;
                    SQL> spool off

                    Onde:

                    query.txt (nome do arquivo de log, que pode ser escrito em qq lugar)

                    Ao consultar o log verás no final da execução da query:

                    Elapsed: 00:00:00.05

                    Abs

                    Marcelo

                    #87006
                    Thiago Vilhena
                    Participante

                      Beleza marcelaoo!!

                      era isso mesmo que eu queria!!

                      abraçao lki!!

                    Visualizando 9 posts - 1 até 9 (de 9 do total)
                    • Você deve fazer login para responder a este tópico.