Pular para o conteúdo
Visualizando 8 posts - 1 até 8 (de 8 do total)
  • Autor
    Posts
  • #101150
    marlonps
    Participante

      Olá, boa noite.

      Tenho uma tabela “documentos”, que dentre os campos, há um chamado “numero”.

      Os números armazenados neste campo têm em média 17 caracteres.
      Ex: 20015100004567003

      Com este número não é feito cálculos, apenas consultas.
      Há mais de 1.000.000 de registros na tabela.

      Visto isso, e considerando suas experiências, gostaria de saber qual o tipo de dado mais recomendado para se utilizar neste caso. VARCHAR ou NUMBER?

      Obrigado.

      #101153
      rman
      Participante

        @marlonps

        Atualmente como está modelado ? NUMBER ou VARCHAR2 ?

        Pra saber qual é mais adequado preciso entender o que é esse número.

        O número é realmente o número do documento, ou seja, é o identificador ? Faz parte da chave primária ? É um número auto-incremento ? Se for essa a situação, utilize NUMBER.

        Ou esse número é na verdade um código de validação do documento ? Como esse número é gerado ? O número tem tamanho fixo ? É permitido zeros a esquerda ? Se for essa a situação, utilize o VARCHAR2.

        #101154
        marlonps
        Participante

          Opa,

          Atualmente está modelado como NUMBER.
          Como estou designado a reestruturar o banco, quero identificar gargalos de performance.

          Ele não é chave-primária, nem auto-incremento.
          É apenas um atributo ‘normal’ da tabela.
          Essa tabela tem sua PK auto-incrementada.

          O tamanho varia de 10, 13 e 17 caracteres. São esses 3 padrões.
          Não há casos de zeros à esquerda.

          Espero ter ajudado a filtrar sua resposta.

          Obrigado!!

          #101155
          rman
          Participante

            @marlonps

            Mas ainda você não disse, o que representa esse número ?

            Qual é a regra de geração desses números?

            #101156
            marlonps
            Participante

              Bom, não sei sobre a regra de geração. O documento já vem assim da contabilidade.

              Como falei pra você, a única coisa que varia são 3 padrões.
              Por exemplo, o documento pode vir…
              assim: 20115100023493001
              assim: 5100023493001
              ou assim: 5100023493

              Ou seja, temos o ano 2011 + o número propriamente 5100023493 + uma extensão 001

              Mas considere que 90% dos casos estarão no padrão com 17 caracteres.
              Enfim, não é meu software que gera esse número.
              Eu apenas recebo e cadastro no banco. Para consultas diversas.

              Entendeu?

              #101157
              rman
              Participante

                @marlonps

                Bom, eu manteria o número como NUMBER, não vi nenhuma necessidade para trocar por VARCHAR2.

                Consulte o relatório ADDM diariamente, esse relatório pode ser seu guia. Outra coisa a ser analisada são os eventos de WAIT, esses eventos podem te ajudar a encontrar os gargalos do banco.

                #101216
                marlonps
                Participante

                  Ok, obrigado!

                  Neste fórum tem como encerrar o tópico? Trancar?

                  Valeu.

                  #101217
                  rman
                  Participante

                    @marlonps

                    Edita o assunto do tópico, poe [RESOLVIDO]

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