Categories: mysqlnull

Benchark Oracle vs MySQL

Estou estudando a tecnologia oracle, as soluções são realmente interessantes principalmente com “oracle rac”.

Algumas coisas impressionam, como por exemplo,  você está fazendo uma query usando um dos nós do cluster, se o servidor reboota, ou da algum problema, ele roteia automaticamente para o próximo nó e continua a query do ponto que parou, fizemos testes e de fato isso e real, a query para por alguns poucos segundos e depoi segue a execução normalmente.

Fiz um for simples em php para inserção de 10000 registros (sim tem maneiras melhor de inserir, mas era um teste simples) numa tabela chamada “teste” possuindo dois fields:
-> id int key  –> sem auto-increment
-> reg varchar(50)

Trecho do código que usei para o for (em oracle)

for($i=1;$i<=10000;$i++)
{
        $sql = "INSERT INTO country(id, pais) VALUES('".$i."', 'registro-".$i."')";
        $oracle->query($sql);
}

Trecho do código em php

for($i=1;$i<=10000;$i++)
{
        $sql = "INSERT INTO country(id, pais) VALUES('".$i."', 'registro-".$i."')";
        mysql_query($sql, $link);
}

utilizei a função time() do php para medir o timestamp inicial e final, a diferença deles é o tempo da operação em segundos.

Resultados:

–> inicio e fim são timestamp, tempo total em segundos
Oracle:
INICIO: 1316194690
FIM: 1316194729
Tempo Total: 39
Espaço ocupado: 500kb

MySQL INNODB:
INICIO: 1316194769
FIM: 1316194772
Tempo Total: 3
Espaço ocupado: 416Kb

MySQL MyISAM:
INICIO: 1316194854
FIM: 1316194857
Tempo Total: 3
Espaço ocupado: 336.99Kb

Conclusão:
Foi um teste muito simples para afirmar qual é o melhor, mas podemos ver que para operações simples, o mysql é quase 10 vezes mais rápido e ocupa menos espaço em disco.
Porém é fato sabido que o mysql perde performance na medida em que a quantidade de dados vai crescendo, já no oracle, quando isto acontece ele se mantem estável (com perda mínima, ou sem de performance).

Felipe Braz

Recent Posts

Como Criar Rede Wi-Fi de Visitante em Roteadores Ax3000t com OpenWRT

Depois que comprei os roteadores ax3000t e finalmente consegui instalar o openwrt neles. Agora chegou…

3 meses ago

Como criar e validar credenciais seguras em Ansible sem dor de cabeça – Guia passo a passo

A criação e validação de credenciais seguras em ansible sempre gera um pouco de dor…

2 anos ago

Magento e o mistério do servidor somente-leitura

Dia desses, um dos meus servidores entrou com o sistema de arquivos / em modo…

5 anos ago

Localização de arquivos .desktop no ubuntu

O launcher do ubuntu não fornece muitas opções me relação aos icones, muitas vezes apps…

5 anos ago

Ordenar array por tamanho em php

Três meios diferentes para a mesma finalidade: Usando funções nativas do PHP (recomendado): array_multisort(array_map('strlen', $array),…

6 anos ago

Adicionar suporte a rc.local no ubuntu 16.04 ou superior

Embora um script muito útil para tarefas de inicialização de um servidor, essa funcionalidade se…

6 anos ago