Pergunta

Estou criando Entidades de banco de dados na minha aplicação Java e tentar racionalizar entre usar um inteiro ou um longo como o tipo de classe do campo "id". Eu estou usando Hibernate como meu ORM, que, por sua vez, irá mapear este campo para uma coluna no banco de dados HSQLDB.

A minha luta é esta: a Longa é, obviamente, maior e irá lidar com um número maior de entradas - mas, em um nível muito baixo, eu sei que no passado (sistemas de 32 bits) nível OS lê seria 32bits de largura. IE:? Um longo ler levaria dois passes ... é que o pensamento correto

Se eu usar um longo hoje, seria minhas consultas HSQLDB executar mais lento do que se eu tivesse usado um Integer?

IE: seria HSQLDB tem que de alguma forma usar vários passes de leitura ... ou usar uma estrutura interna maior ... ou ter muito Anexar duas colunas de tamanho inteiros ... ou outra coisa, obviamente, não ideal? Ou, é de alguma forma um ponto discutível com o processamento de 64 bits de hoje - qual, deve lidar com um longo em uma leitura (Long é de 64 bits)

Foi útil?

Solução

Use um longa. Mesmo com um banco de dados in-memory, o impacto desempenho muito provavelmente não vai ser significativa em relação ao resto da sua aplicação. Terá, no entanto ser um aborrecimento incrível para voltar e alterar a aplicação mais tarde, se você começar a correr para fora de identificadores.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top