- Este tópico contém 7 respostas, 2 vozes e foi atualizado pela última vez 14 anos, 5 meses atrás por
rman.
-
AutorPosts
-
6 de outubro de 2011 às 5:23 am #101150
marlonps
ParticipanteOlá, 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: 20015100004567003Com 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.
6 de outubro de 2011 às 6:52 am #101153rman
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.
6 de outubro de 2011 às 7:05 am #101154marlonps
ParticipanteOpa,
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!!
6 de outubro de 2011 às 7:07 am #101155rman
Participante@marlonps
Mas ainda você não disse, o que representa esse número ?
Qual é a regra de geração desses números?
6 de outubro de 2011 às 7:18 am #101156marlonps
ParticipanteBom, 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: 5100023493Ou 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?
6 de outubro de 2011 às 7:33 am #101157rman
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.
8 de outubro de 2011 às 7:10 pm #101216marlonps
ParticipanteOk, obrigado!
Neste fórum tem como encerrar o tópico? Trancar?
Valeu.
8 de outubro de 2011 às 8:21 pm #101217rman
Participante@marlonps
Edita o assunto do tópico, poe [RESOLVIDO]
-
AutorPosts
- Você deve fazer login para responder a este tópico.