Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

PRWEB

Consulta SQLSERVER LENTA

Recommended Posts

Boa tarde

 

Tenho uma base de dados com várias tabelas e umas dessas tabelas tem +/- 5 milhões de registros.
E preciso verificar se a numero repetido nessa tabela ao gravar um número de série.

Como posso fazer para deixar essa consulta mais rápida?


Estou desesperado porque está aumentando registros e ficando lenta.

 

Agradeço desde já pela ajuda.

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá

Então a tabela não tem índice. Como que eu posso criar índices? Sou novato em programação.

O que notei q está deixando a tabela lenta é pela quantidade de registros.

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia

Poderia me ajudar a criar um indice nesse tabela que já está criada?

O que acontece é que em uma determinada tela do sistema tem o campo para gravar as informações nessa tabela e ao mesmo tempo ela mostra uma quantidade de 5 registros, para ir mostrando que gravou a informação.

Como está aumentando a quantidade de registros nessa tabela está dando essa lentidão.

 

Por favor, preciso muito de ajuda.

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

A syntax básica é algo simples ,

 

CREATE NONCLUSTERED INDEX IDX_UF ON clientes (UF ASC) INCLUDE(CEP)

 

Fonte

 

Como não tenho a estrutura da tabela fica dificil ajudar mais.

 

Mas em geral os gerenciadores de banco de dados (não sei qual usa) tem wizards que ajudam nestas tarefas.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde

 

Eu utilizo o SQL SERVER MANAGEMENT STUDIO.

 

E fiz assim syntax:

 

CREATE  INDEX [IN_NO_SERIE_PRODUTO_PEDIDO] ON [NO_SERIE_PRODUTO_PEDIDO]([no_serie]) INCLUDE(TIPO)

 

 

Mesmo para gravação está lento, o correto é utilizar indice né?


Essa tabela que tem esses 5 milhões de registros está assim, conforme a imagem anexa

estrutura_sql.jpg

Compartilhar este post


Link para o post
Compartilhar em outros sites

Motta,

 

Fiz assim o índice:

 

 CREATE NONCLUSTERED INDEX [IN_NO_SERIE_PRODUTO_PEDIDO] ON [NO_SERIE_PRODUTO_PEDIDO]([no_os]) ON [PRIMARY]

 

E agora está rapido a consulta.

 

Teria mais algumas dicas sobre o assunto?

 

Muito Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites
19 horas atrás, Motta disse:

 

manter as estatísticas atualizadas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia!

 

Fiz os testes utilizando esse indice:

CREATE NONCLUSTERED INDEX [IN_NO_SERIE_PRODUTO_PEDIDO] ON [NO_SERIE_PRODUTO_PEDIDO]([NO_OS],[CODIGO],[ID_PRODUTO],[TIPO],[NO_SERIE],[CAIXA] DESC) ON [PRIMARY]

 

E aparentemente melhorou muito a consulta.

 

Obrigado pelas ajudas e dicas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por mamotinho
      Olá, estou a um tempo tentando acrescentar um codigo na coluna do SQL na qual seria VARBINARY

      A Coluna atual contém o seguinte codigo binary:
      Código (01)
      0x020009004C0101434D0101465C0101485D0101499801014B8401014E8501014F86010150D00009017A0014247D0014257B0014261600090201000903F9001420FA0014229F000923F8001427DF000128730014297600142A7E00142BFB00142CA3010147E000142DE100142EA40101443900120424001405C40101457400142F770014307F0001317C001232E6000421780001332C010A522F0108533A010354380103553001085637010357A5010166A6010167  
      No codigo acima eu gostaria de acrescentar o seguinte codigo:
      Código (02)
      0xCC010120CD010121CE010122CF010123
      no caso eu quero criar uma procedure que ao executar a função ele adicione o codigo 02 no código 01. no caso o codigo ficaria desta forma:

      0x020009004C0101434D0101465C0101485D0101499801014B8401014E8501014F86010150D00009017A0014247D0014257B0014261600090201000903F9001420FA0014229F000923F8001427DF000128730014297600142A7E00142BFB00142CA3010147E000142DE100142EA40101443900120424001405C40101457400142F770014307F0001317C001232E6000421780001332C010A522F0108533A010354380103553001085637010357A5010166A6010167CC010120CD010121CE010122CF010123



      Ficarei imensamente grato se alguém conseguir me ajudar, o orientar. sou iniciante nessa areá ainda.
    • Por cesarhtc
      Boa tarde tenho uma aplicação que gera uma relação de dados como faço para exportar isso para pdf?
       
      Obrigado
    • Por vmenezes
      ola galera . tenho uma aplicação com asp  e utilizo javascript para bater foto do cliente . consigo apos a foto batida salvar no pc com o ID do cliente,
      porem gostaria que assim que a foto fosse batida salvasse na raiz do proprio site.
      tem como fazer isso ?
      obg
    • Por Negrito
      Olá,
       
      Estou quebrando a cabeça com o recurso Session_OnStart , pois eu gostaria que algumas paginas/arquivos .asp tivessem exceções.
       
      Criei o Global.ASA com o seguinte contexto:
       
      <SCRIPT RUNAT=Server Language="VBScript">
      Sub Session_OnStart
        startPage = "/default.asp"
        currentPage = Request.ServerVariables("SCRIPT_NAME")
        If strcomp(currentPage,startPage,1) then
          Response.Redirect("/default.asp")
        End If
      End Sub
      </SCRIPT>
       
      Ele funciona perfeitamente, quando tento acessar qualquer pagina ou subdiretorio diretamente pela URL, ele me joga para a pagina inicial.
       
      Porem, eu gostaria de ter exceções em alguns diretorios e paginas .ASP , onde eu gostaria de liberar o acesso direto ao digitar a URL.
       
      Alguem sabe me informar se é possivel ? 
       
      Obrigado.
       
       
    • Por Negrito
      Olá Pessoal, 
       
      Converti o banco de dados de uma app em ASP Classico de MSSQL para MySQL para redução de custos e percebi que alguns componentes ou recursos não estão mais funcionando devido a não compatibilidade com o MySQL , como por exemplo a função : RecordCount
       
      Já consegui converter e atualizar 95% de aplicação para rodar com o MySQL, mas tem 1 item que esta tirando meu sono e após dias pesquisando, resolvi pedir ajuda.
       
      Segue o meu codigo abaixo , onde estou com problema no resultado dessa operação:
       
      <%
      ...
      Set RS = Server.CreateObject("ADODB.Recordset")
      RS.CursorLocation = 3
      RS.CursorType = 3
      RS.ActiveConnection = Cn
      RS.Open strSQL, Cn, 3, 3
      RS.PageSize = 25
      RS.CacheSize = RS.PageSize
      intPageCount = RS.PageCount
      intRecordCount = RS.RecordCount
          If NOT (RS.BOF AND RS.EOF) Then
      If CInt(intPage) > CInt(intPageCount) Then intPage = intPageCount
          If CInt(intPage) <= 0 Then intPage = 1
              If intRecordCount > 0 Then
                  RS.AbsolutePage = intPage
                  intStart = RS.AbsolutePosition
                  If CInt(intPage) = CInt(intPageCount) Then
                      intFinish = intRecordCount
                  Else
                      intFinish = intStart + (RS.PageSize - 1)
                  End if
              End If
          If intRecordCount > 0 Then
              For intRecord = 1 to RS.PageSize
          QntExibicoes = QntExibicoes + Rs.fields("views")
      ...
      %>
       
       
      Já percebi que a função RecordCount não pode ser usada com o MySQL ou pelo menos não é compativel.
       
      A paginação esta funcionando ! 
      Porem , não consigo fazer ele calcular a quantidade de linhas (rows) do MySQL com a função RecordCount e acredito que possa ter alguma outra função que não esta compativel , mas como não conheço MySQL , não posso afirmar.
       
      Enfim, algum pode me dar uma luz ?
       
      Desde já agradeço pela atenção.
       
      Obrigado.
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.