| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/06/2009 19:30:26
|
thiagocg
Virtual Machine Man
![[Avatar]](/images/avatar/e22c686bc771d5872150738b15f3e533.jpg)
Membro desde: 08/04/2006 11:07:07
Mensagens: 541
Localização: Campo Grande - MS
Offline
|
Ola pessoal, estou em um projeto novo em uma empresa que entrei a pouco, e o analista de sistemas desta empresa esta modelando o sistema (fazendo d.e.r), será um sistema quer rodará apenas com servlets e jsp e usarei o hibernate para camada de persistencia.
Até ai td bem, o q me espantou foi q o analista esta modelando e criando algumas tabelas com o identificador como String (char no ORACLE 10g que será o bd q utilizaremos), ai conversando com ele, foi dito que esta escolha foi devido a performance em consultas.
Gostaria de saber a opnião de vcs a respeito disso, e se realmente terei um ganho de performance significativo que compense td o trabalho q terei para gerenciar as "pk" que serão digitadas pelos usuários da aplicação!
Aguardo a opnião de vcs!
Obrigado a todos!
|
________________________________
Thiago Araujo da Silva
Analista de Sistemas
Tecnólogo em Processamento de Dados (Estácio - CG/MS)
Especialista em Desenvolvimento de Aplicações em Java (Uniderp - CG/MS)
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/06/2009 19:52:00
|
giovanni_stiwes
JavaGuru
Membro desde: 20/04/2006 09:00:42
Mensagens: 236
Offline
|
Sim, pricipalmente em Joins e consultas que a chave primaria é usada no where ou order.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/06/2009 19:53:18
|
Felagund
GUJ Master
![[Avatar]](/images/avatar/d8d855c465198499868fb2b566ebee8d.jpg)
Membro desde: 26/07/2006 11:51:36
Mensagens: 1732
Localização: Santa e Bela Catarina
Offline
|
giovanni_stiwes wrote:Sim, pricipalmente em Joins e consultas que a chave primaria é usada no where ou order.
Na verdade oq ele quer saber se char é melhor que inteiro.
eu prefiro o conceito de Surrogate Keys.
|
att
Rafael Felix
Rolling With Code
Twitter |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/06/2009 21:59:35
|
brunobuild
JavaGuru
![[Avatar]](/images/avatar/db5c56b36f6575e4cd690ccefd938884.jpg)
Membro desde: 07/01/2008 13:41:22
Mensagens: 232
Localização: São Paulo
Offline
|
Na verdade existem varias maneiras de melhorar a performance de um banco de dados, eu acredito que fazendo isso não tera um ganho significativo.
Eu já tive algumas experiências onde eu precisava ganhar performance, umas das soluções que eu adotei foi a seguinte.
Eu fazia a modelagem do banco de dados com primary key simples esquece chave "combosta", e depois eu tirava todas as chaves do banco de dados, pois se ele é incremental a chave nunca vai se repetir, nisso vc já ganha alguns segundos nas queries.
Agora respondendo sua pergunta acredito que utilizando inteiro a performance vai ser a mesma tendo em vista que quem vai controlar isso é o banco de dados e não a aplicação.
E o problema de deixar o usuário digitar a chave é um pouco antigo este conceito acredito que não seja uma boa prática.
Está é minha opinião se falei besteira por favor me perdoem
|
Bruno Rodrigues |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/06/2009 08:01:17
|
thiago.correa
GUJ Master
![[Avatar]](/images/avatar/c37f9e1283cbd4a6edfd778fc8b1c652.jpg)
Membro desde: 26/03/2006 18:54:30
Mensagens: 1861
Offline
|
Ele é analista ou DBA?!
|
---
"Se não puder ajudar, atrapalhe, afinal de contas o importante é participar!"
Thiago
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/06/2009 18:09:02
|
thiagocg
Virtual Machine Man
![[Avatar]](/images/avatar/e22c686bc771d5872150738b15f3e533.jpg)
Membro desde: 08/04/2006 11:07:07
Mensagens: 541
Localização: Campo Grande - MS
Offline
|
Analista
|
________________________________
Thiago Araujo da Silva
Analista de Sistemas
Tecnólogo em Processamento de Dados (Estácio - CG/MS)
Especialista em Desenvolvimento de Aplicações em Java (Uniderp - CG/MS)
|
|
|
 |
|
|