Olá,
Tenho um sistema que estou fazendo e fiz testes com vários bancos de dados para ver qual seria o escolhido como padrão. O acesso é via JDBC o sistema cria uma extrutura de tabelas para simular um banco hierárquico. As principais querys são pesquisas em chaves primarias.
Testei postgresql, oracle xe e H2 SQL.
O único banco que consegui uma velocidade aceitável foi no H2 e acredito que isto ocorre pois optei por ele embedded e com isto não há custo de rede e principalmente ele fica na mesma JVM que as classes que acessam ele.
Mais ainda assim gostaria de ter uma opção como o postgres pois acho um ótimo banco.
Uma query simples retorna no H2 em 1ms e retorna no Postgres em 1ms desde que rodando na maquina via psql. Mais via JDBC a velocidade mínima que consegui para a mesma query é 12ms mesmo acessando via localhost. Vocês acreditam que este resultado é causado pelo overhead de mesmo sendo localhost ainda assim é uma chamada de rede ou é gerado pelo driver JDBC?
Sei que 12ms não parecem muito mais é um sistema que faz muitas querys sequenciais ao banco então estes 11ms a mais fazem uma grande diferença no resultado final.
Alguma idéia?