Benchmark - mysql x postgresql

4 respostas
K

Resolvi fazer um benchmark para testar os dois banco de dados. O resultado é tão :shock: que resolvi parar meus testes apartir do primeiro resultado com o postgresql.

PC: Sempron64 2500+ (1.4ghz) com mysql 5.0 e postgresql 8.1.4, windows xp.

O teste é simples:

<blockquote>			for(int i=1; i < 100000; ++i) {

StringBuffer executa = new StringBuffer(“INSERT INTO “+ database +””);

executa.append(" (nome,endereco,telefone) “);

executa.append(” VALUES ("+ i +","+ i +","+ i +");");

entao.execute(executa.toString());

}

</blockquote>

Ver em quanto tempo era registrado 100.000 linhas.

mysql -> 47/48 minutos.
postgresql -> 3 minutos.

não acreditei… deixei rodando denovo em cima de uma tabela no mysql, 3/4 minutos depois ele estava no 3000 ainda…

levando em consideração que, meu sistema iniciava com 24mbs usados, debian, logo depois que instalei mysql ele passou a iniciar com 74mbs, 50mbs somente para o mysql e o postgresql eu não consegui notar diferença depois que o instalei, continuava iniciando a 74mbs.

:wink:

4 Respostas

Leozin

essa linhas tinham quantas colunas?

Porque eu tinha feito um programinha de benchmark do sql server, ele inseria 50 mil linhas em menos de 30 segundos com aproximadamente 15 colunas :open_mouth: (Obs.: local)

faq

Olá KoIT,

O tipo MyISAM constuma ser manipulado com maior velocidade que o tipo ACID.

Algum motivo especial para uma diferença tão absurda?

fmeyer

execute esse comando na sua tabela e se surpreenda

ALTER TABLE `$databasename`.`$tablename` ENGINE = MYISAM
ROW_FORMAT = DYNAMIC;

isso acontece por que o tipo innoDB é usando com suporte a transacao, entao ele faz um monte de verificacoes antes de inserir o dado.

ps. na verdade vc esta inserindo 99999 registros :wink:

cv1

Er… exatamente que tipo de performance vc ta querendo medir?

Ate onde eu me lembre, a gigantesca maioria das aplicacoes depende muito mais de SELECTs do que INSERTs ou UPDATEs - depois, se vc quer fazer o PostgreSQL voar na insercao de dados em massa, da uma olhada no comando COPY.

Criado 6 de outubro de 2006
Ultima resposta 9 de out. de 2006
Respostas 4
Participantes 5