Carregando ...
Desculpe, ocorreu um erro ao carregar o conteúdo.
 

comando lento?!

Expandir mensagens
  • Rogério Pett
    Olá pessoal... tenho o seguinte comando SQL rodando em PHP e no sinática monitor ele me diz comando muito lento . select first(10) * from NOTICIAS left join
    Mensagem 1 de 6 , 11 de fev de 2016
      Olá pessoal...

      tenho o seguinte comando SQL rodando em PHP e no sinática monitor ele me diz "comando muito lento".
      select first(10) * from NOTICIAS left join CATEGORIAS on NOT_CATEGORIA=CAT_CODIGO where NOT_PUBLICADO='S' and ('2016-02-11' between NOT_VALIDADEINICIO and NOT_VALIDADEFIM) order by NOT_DATA desc, NOT_CODIGO desc

      no ibexpert, ao executar, informa o seguinte.Plan
      PLAN SORT (JOIN (NOTICIAS INDEX (IX_NOT_VALIDADEINICIO, IX_NOT_VALIDADEFIM), CATEGORIAS INDEX (PK_CAT_CODIGO)))

      ------ Performance info ------
      Prepare time = 16ms
      Execute time = 6s 516ms
      Avg fetch time = 651,60 ms
      Current memory = 56.603.848
      Max memory = 113.857.280
      Memory buffers = 2.048
      Reads from disk to cache = 69.109
      Writes from cache to disk = 18
      Fetches from cache = 1.542.543

      []'s
      Rogério Pett
      www.pett.com.br

      ------------------------------
    • Rogério Pett
      enviei sem terminar... tem alguma forma de fazer esse comando ficar mais rápido? a tabela tem índice primário o campo código, e índice descend no campo
      Mensagem 2 de 6 , 11 de fev de 2016
        enviei sem terminar...
        tem alguma forma de fazer esse comando ficar mais rápido?

        a tabela tem índice primário o campo código, e índice descend no campo data e índice ascend nos campos validadeinicio, validadefim e título.


        []'s
        Rogério Pett
        www.pett.com.br

        ------------------------------

        2016-02-11 8:57 GMT-02:00 Rogério Pett <rogeriopett@...>:
        Olá pessoal...

        tenho o seguinte comando SQL rodando em PHP e no sinática monitor ele me diz "comando muito lento".
        select first(10) * from NOTICIAS left join CATEGORIAS on NOT_CATEGORIA=CAT_CODIGO where NOT_PUBLICADO='S' and ('2016-02-11' between NOT_VALIDADEINICIO and NOT_VALIDADEFIM) order by NOT_DATA desc, NOT_CODIGO desc

        no ibexpert, ao executar, informa o seguinte.Plan
        PLAN SORT (JOIN (NOTICIAS INDEX (IX_NOT_VALIDADEINICIO, IX_NOT_VALIDADEFIM), CATEGORIAS INDEX (PK_CAT_CODIGO)))

        ------ Performance info ------
        Prepare time = 16ms
        Execute time = 6s 516ms
        Avg fetch time = 651,60 ms
        Current memory = 56.603.848
        Max memory = 113.857.280
        Memory buffers = 2.048
        Reads from disk to cache = 69.109
        Writes from cache to disk = 18
        Fetches from cache = 1.542.543

        []'s
        Rogério Pett
        www.pett.com.br

        ------------------------------

      • Eduardo Jedliczka
        Sinceramente, da forma como se encontra, este comando não parece fazer muito sentido... Realmente você precisa do Left Join ? Precisa de todos os campos ?
        Mensagem 3 de 6 , 18 de fev de 2016
          Sinceramente, da forma como se encontra, este comando não parece fazer muito sentido...

          Realmente você precisa do Left Join ? Precisa de todos os campos ? 

          Porque você não faz uma CTT para resolver os dez primeiros registros da tabela nota, e depois faz a junção ?

          Abraço,



          ==========================
          Eduardo Jedliczka
          Curitiba - Pr
          ==========================

          Em 11 de fevereiro de 2016 09:01, Rogério Pett rogeriopett@... [cflp_suporte] <cflp_suporte@...> escreveu:


          enviei sem terminar...
          tem alguma forma de fazer esse comando ficar mais rápido?

          a tabela tem índice primário o campo código, e índice descend no campo data e índice ascend nos campos validadeinicio, validadefim e título.


          []'s
          Rogério Pett
          www.pett.com.br

          ------------------------------

          2016-02-11 8:57 GMT-02:00 Rogério Pett <rogeriopett@...>:
          Olá pessoal...

          tenho o seguinte comando SQL rodando em PHP e no sinática monitor ele me diz "comando muito lento".
          select first(10) * from NOTICIAS left join CATEGORIAS on NOT_CATEGORIA=CAT_CODIGO where NOT_PUBLICADO='S' and ('2016-02-11' between NOT_VALIDADEINICIO and NOT_VALIDADEFIM) order by NOT_DATA desc, NOT_CODIGO desc

          no ibexpert, ao executar, informa o seguinte.Plan
          PLAN SORT (JOIN (NOTICIAS INDEX (IX_NOT_VALIDADEINICIO, IX_NOT_VALIDADEFIM), CATEGORIAS INDEX (PK_CAT_CODIGO)))

          ------ Performance info ------
          Prepare time = 16ms
          Execute time = 6s 516ms
          Avg fetch time = 651,60 ms
          Current memory = 56.603.848
          Max memory = 113.857.280
          Memory buffers = 2.048
          Reads from disk to cache = 69.109
          Writes from cache to disk = 18
          Fetches from cache = 1.542.543

          []'s
          Rogério Pett
          www.pett.com.br

          ------------------------------




        • Rogério Pett
          bom dia, o que vc chama de CTT? o * coloquei só pra simplificar o SQL. e o left join é só pra pegar a descrição da categoria (1 campo) ele traz as
          Mensagem 4 de 6 , 18 de fev de 2016
            bom dia,

            o que vc chama de CTT?
            o * coloquei só pra simplificar o SQL.
            e o left join é só pra pegar a descrição da categoria (1 campo)
            ele traz as primeiras 10 noticias onde a data de hoje está entre as datas de validade que foi cadastrado.


            []'s
            Rogério Pett
            www.pett.com.br

            ------------------------------

            Em 18 de fevereiro de 2016 10:55, Eduardo Jedliczka edujed@... [cflp_suporte] <cflp_suporte@...> escreveu:
             

            Sinceramente, da forma como se encontra, este comando não parece fazer muito sentido...

            Realmente você precisa do Left Join ? Precisa de todos os campos ? 

            Porque você não faz uma CTT para resolver os dez primeiros registros da tabela nota, e depois faz a junção ?

            Abraço,



            ==========================
            Eduardo Jedliczka
            Curitiba - Pr
            ==========================

            Em 11 de fevereiro de 2016 09:01, Rogério Pett rogeriopett@... [cflp_suporte] <cflp_suporte@...> escreveu:


            enviei sem terminar...
            tem alguma forma de fazer esse comando ficar mais rápido?

            a tabela tem índice primário o campo código, e índice descend no campo data e índice ascend nos campos validadeinicio, validadefim e título.


            []'s
            Rogério Pett
            www.pett.com.br

            ------------------------------

            2016-02-11 8:57 GMT-02:00 Rogério Pett <rogeriopett@...>:
            Olá pessoal...

            tenho o seguinte comando SQL rodando em PHP e no sinática monitor ele me diz "comando muito lento".
            select first(10) * from NOTICIAS left join CATEGORIAS on NOT_CATEGORIA=CAT_CODIGO where NOT_PUBLICADO='S' and ('2016-02-11' between NOT_VALIDADEINICIO and NOT_VALIDADEFIM) order by NOT_DATA desc, NOT_CODIGO desc

            no ibexpert, ao executar, informa o seguinte.Plan
            PLAN SORT (JOIN (NOTICIAS INDEX (IX_NOT_VALIDADEINICIO, IX_NOT_VALIDADEFIM), CATEGORIAS INDEX (PK_CAT_CODIGO)))

            ------ Performance info ------
            Prepare time = 16ms
            Execute time = 6s 516ms
            Avg fetch time = 651,60 ms
            Current memory = 56.603.848
            Max memory = 113.857.280
            Memory buffers = 2.048
            Reads from disk to cache = 69.109
            Writes from cache to disk = 18
            Fetches from cache = 1.542.543

            []'s
            Rogério Pett
            www.pett.com.br

            ------------------------------





          • Alison - Soft
            Bom dia Rogério, Não sei se já resolveu seu problema... sem o banco de dados fica difícil analisar, mas faça um teste com a estrutura abaixo e veja se
            Mensagem 5 de 6 , 18 de fev de 2016
              Bom dia Rogério,



              Não sei se já resolveu seu problema... sem o banco de dados fica difícil analisar, mas faça um teste com a estrutura abaixo e veja se melhora:



              Select First(10) *

              From NOTICIAS

              Left Join CATEGORIAS

              On NOT_CATEGORIA = CAT_CODIGO

              Where NOT_VALIDADEINICIO >= '2016-02-11'

              And NOT_VALIDADEFIM <= '2016-02-11'

              And NOT_PUBLICADO = 'S'

              Order by NOT_DATA Desc, NOT_CODIGO Desc



              Caso a performance continue a mesma, tente criar um índice composto com os campos NOT_VALIDADEINICIO, NOT_VALIDADEFIM e NOT_PUBLICADO e faça um novo teste.

              Ex.: Create Index IXNOTICIAS01 On NOTICIAS(NOT_VALIDADEINICIO, NOT_VALIDADEFIM, NOT_PUBLICADO);



              Abraço,

              Alison







              De: cflp_suporte@... [mailto:cflp_suporte@...]
              Enviada em: quinta-feira, 18 de fevereiro de 2016 09:55
              Para: Cflp Suporte
              Assunto: Re: [cflp] Re: comando lento?!





              Sinceramente, da forma como se encontra, este comando não parece fazer muito sentido...



              Realmente você precisa do Left Join ? Precisa de todos os campos ?



              Porque você não faz uma CTT para resolver os dez primeiros registros da tabela nota, e depois faz a junção ?



              Abraço,








              ==========================
              Eduardo Jedliczka
              Curitiba - Pr
              ==========================



              Em 11 de fevereiro de 2016 09:01, Rogério Pett rogeriopett@... [cflp_suporte] <cflp_suporte@...> escreveu:



              enviei sem terminar...

              tem alguma forma de fazer esse comando ficar mais rápido?

              a tabela tem índice primário o campo código, e índice descend no campo data e índice ascend nos campos validadeinicio, validadefim e título.





              []'s
              Rogério Pett
              www.pett.com.br
              ------------------------------



              2016-02-11 8:57 GMT-02:00 Rogério Pett <rogeriopett@...>:

              Olá pessoal...

              tenho o seguinte comando SQL rodando em PHP e no sinática monitor ele me diz "comando muito lento".
              select first(10) * from NOTICIAS left join CATEGORIAS on NOT_CATEGORIA=CAT_CODIGO where NOT_PUBLICADO='S' and ('2016-02-11' between NOT_VALIDADEINICIO and NOT_VALIDADEFIM) order by NOT_DATA desc, NOT_CODIGO desc

              no ibexpert, ao executar, informa o seguinte.Plan
              PLAN SORT (JOIN (NOTICIAS INDEX (IX_NOT_VALIDADEINICIO, IX_NOT_VALIDADEFIM), CATEGORIAS INDEX (PK_CAT_CODIGO)))

              ------ Performance info ------
              Prepare time = 16ms
              Execute time = 6s 516ms
              Avg fetch time = 651,60 ms
              Current memory = 56.603.848
              Max memory = 113.857.280
              Memory buffers = 2.048
              Reads from disk to cache = 69.109
              Writes from cache to disk = 18
              Fetches from cache = 1.542.543



              []'s
              Rogério Pett
              www.pett.com.br
              ------------------------------











              ---
              Este email foi escaneado pelo Avast antivírus.
              http://www.avast.com


              [As partes desta mensagem que não continham texto foram removidas]
            • Eduardo Jedliczka
              Rogério, houve um erro de digitação... era para ter escrito CTE (Common Table Expression)
              Mensagem 6 de 6 , 18 de fev de 2016
                Rogério, houve um erro de digitação... era para ter escrito CTE (Common Table Expression)



                ==========================
                Eduardo Jedliczka
                Curitiba - Pr
                ==========================

                Em 18 de fevereiro de 2016 11:51, Rogério Pett rogeriopett@... [cflp_suporte] <cflp_suporte@...> escreveu:


                bom dia,

                o que vc chama de CTT?
                o * coloquei só pra simplificar o SQL.
                e o left join é só pra pegar a descrição da categoria (1 campo)
                ele traz as primeiras 10 noticias onde a data de hoje está entre as datas de validade que foi cadastrado.


                []'s
                Rogério Pett
                www.pett.com.br

                ------------------------------

                Em 18 de fevereiro de 2016 10:55, Eduardo Jedliczka edujed@... [cflp_suporte] <cflp_suporte@...> escreveu:
                 

                Sinceramente, da forma como se encontra, este comando não parece fazer muito sentido...

                Realmente você precisa do Left Join ? Precisa de todos os campos ? 

                Porque você não faz uma CTT para resolver os dez primeiros registros da tabela nota, e depois faz a junção ?

                Abraço,



                ==========================
                Eduardo Jedliczka
                Curitiba - Pr
                ==========================

                Em 11 de fevereiro de 2016 09:01, Rogério Pett rogeriopett@... [cflp_suporte] <cflp_suporte@...> escreveu:


                enviei sem terminar...
                tem alguma forma de fazer esse comando ficar mais rápido?

                a tabela tem índice primário o campo código, e índice descend no campo data e índice ascend nos campos validadeinicio, validadefim e título.


                []'s
                Rogério Pett
                www.pett.com.br

                ------------------------------

                2016-02-11 8:57 GMT-02:00 Rogério Pett <rogeriopett@...>:
                Olá pessoal...

                tenho o seguinte comando SQL rodando em PHP e no sinática monitor ele me diz "comando muito lento".
                select first(10) * from NOTICIAS left join CATEGORIAS on NOT_CATEGORIA=CAT_CODIGO where NOT_PUBLICADO='S' and ('2016-02-11' between NOT_VALIDADEINICIO and NOT_VALIDADEFIM) order by NOT_DATA desc, NOT_CODIGO desc

                no ibexpert, ao executar, informa o seguinte.Plan
                PLAN SORT (JOIN (NOTICIAS INDEX (IX_NOT_VALIDADEINICIO, IX_NOT_VALIDADEFIM), CATEGORIAS INDEX (PK_CAT_CODIGO)))

                ------ Performance info ------
                Prepare time = 16ms
                Execute time = 6s 516ms
                Avg fetch time = 651,60 ms
                Current memory = 56.603.848
                Max memory = 113.857.280
                Memory buffers = 2.048
                Reads from disk to cache = 69.109
                Writes from cache to disk = 18
                Fetches from cache = 1.542.543

                []'s
                Rogério Pett
                www.pett.com.br

                ------------------------------








              Sua mensagem foi enviada com êxito e será entregue aos destinatários em breve.