[TESTE] Quem é o mais rápido MySQL vs MySQLi ?

  • rldesign
  • Avatar de rldesign Autor do Tópico
  • Offline
  • JCB! Hero
  • JCB! Hero
Mais
12 anos 8 meses atrás #53014 por rldesign
rldesign created the topic: [TESTE] Quem é o mais rápido MySQL vs MySQLi ?
Que driver de banco de usar no Joomla! : MySQLi or MySQL?
O que é mais rápido e que métodos de camada de base de dados são mais rápido no Joomla!? Aqui é teste rápido, mas interessante!

Foi usado no teste Windows XP, PHP 5.2.6, MySQL 5.0.18, PHP como Apache handler.

Cada método foi testado 5 vezes, mais rápida velocidade e uso maior de memória foram usados ??para resultados.

Script de teste:
<?php
define( '_JEXEC', 1 );
define('JPATH_BASE', dirname(__FILE__) );
define( 'DS', DIRECTORY_SEPARATOR );
require_once ( JPATH_BASE .DS.'includes'.DS.'defines.php' );
require_once ( JPATH_BASE .DS.'includes'.DS.'framework.php' );
$mainframe =& JFactory::getApplication('site');
$mainframe->initialise();


$query = 'SELECT * FROM #__content';
$limit = 50; // use 1 for $row

for ($i=0; $i<6; $i++) {
 test($query, $limit);
}

die;

function test($query, $limit) {
 $db =& JFactory::getDBO();
 
 $db->setQuery($query, 0, $limit);

 $total			= 0;
 $cycle_count	= 50;
 $step_count		= 50;
 
 $mem = memory_get_usage();
 
 for ($i=0; $i<$cycle_count; $i++) {
 $step 	= 0;
 for ($i2=0; $i2<$step_count; $i2++) {
 $time = microtime(true);
 
 $rows = $db->loadObjectList();
 //$rows = $db->loadAssocList();
 //$rows = $db->loadRowList();

 //$row = $db->loadObject();
 //$row = $db->loadAssoc();
 //$row = $db->loadRow();
 
 $step += microtime(true) - $time;
 }
 $total += $step;
 }
 
 echo '<br>-------------<br>';
 echo round($total/$cycle_count, 3);
 echo '<br>';
 echo 'Memory usage: ', sprintf('%0.2f', (memory_get_usage()-$mem)/1024 ).' kB';
}

resultados


Método - MySQL

$rows = $db->loadObjectList();
Tempo:0.426
Memória:254.36 kB

$rows = $db->loadAssocList();
Tempo:0.359
Memória:254.16 kB

$rows = $db->loadRowList();
Tempo:0.369
Memória:246.00 kB

$row = $db->loadObject();
Tempo:0.062
Memória:8.77 kB

$row = $db->loadAssoc();
Tempo:0.061
Memória:7.23 kB

row = $db->loadRow();
Tempo:0.060
Memória:6.48 kB





Método - MySQLi

$rows = $db->loadObjectList();
Tempo:0.453
Memória:254.38 kB

$rows = $db->loadAssocList();
Tempo:0.378
Memória:254.25 kB

$rows = $db->loadRowList();
Tempo:0.369
Memória:246.20 kB

$row = $db->loadObject();
Tempo:0.061
Memória:8.77 kB

$row = $db->loadAssoc();
Tempo:0.058
Memória:7.23 kB

row = $db->loadRow();
Tempo:0.056
Memória:6.46 kB

Conclusão

MySQLi não é mais rápido que MySQL para consultas em lista e tem uso de memória similar.
Buscando dados em arrays é cerca de 15-20 % mais rápido do que em objetos.

A maioria consultas Joomla! são consultas em lista ( lista de consultas também levar mais tempo ), então recomendamos o uso de driver MySQL.

Fonte: http://goo.gl/tpnxp

Rafael Santana
Web Designer | R&L Design - Desenvolvimento Gráfico e Sites

Please Entrar ou Registrar to join the conversation.


Mais
12 anos 2 meses atrás #62872 por lpw
lpw replied the topic: Re: [TESTE] Quem é o mais rápido MySQL vs MySQLi ?
Grato rldesign, tinha esta dúvida na instalação.

[color=#0000FF:76if5qzt][b:76if5qzt] Web Designer & Web Developer
Expert Sites[/b:76if5qzt]
<!-- m --><a class="postlink" href=" expertsites.com.br " onclick="window.open(this.href);return false;"> expertsites.com.br </a><!-- m -->[/color:76if5qzt]

Please Entrar ou Registrar to join the conversation.

Mais
12 anos 2 meses atrás #64711 por Trorram
Trorram replied the topic: Re: [TESTE] Quem é o mais rápido MySQL vs MySQLi ?
Grande Rafa.

* Tomei a liberdade de inserir uma imagem.

Achei bem interessante, mas é difícil se pronunciar sobre isto. Bem questionável este teste.

Gostei, manda para o site.

Abs, Trorram

Please Entrar ou Registrar to join the conversation.

  • rldesign
  • Avatar de rldesign Autor do Tópico
  • Offline
  • JCB! Hero
  • JCB! Hero
Mais
12 anos 2 meses atrás #64739 por rldesign
rldesign replied the topic: Re: [TESTE] Quem é o mais rápido MySQL vs MySQLi ?

Trorram escreveu: Grande Rafa.

* Tomei a liberdade de inserir uma imagem.

Achei bem interessante, mas é difícil se pronunciar sobre isto. Bem questionável este teste.

Gostei, manda para o site.

Abs, Trorram


Sem problemas

Esse artigo é de 2009, das primeiras versões do 1.5.
Achei o mesmo interessante e resolvi traduzi-lo.


Com toda a mudança no core, separação ente CMS e JPlatform,
teria que ser feito uma nova rodada de testes pra ver.

Ainda mais por antigo, não sei se teria credibilidade para colocar na Revista.

Rafael Santana
Web Designer | R&L Design - Desenvolvimento Gráfico e Sites

Please Entrar ou Registrar to join the conversation.

Mais
12 anos 2 meses atrás #64750 por Trorram
Trorram replied the topic: Re: [TESTE] Quem é o mais rápido MySQL vs MySQLi ?

Ainda mais por antigo, não sei se teria credibilidade para colocar na Revista.


Verdade. Você tem razão.

Abs, Trorram

Please Entrar ou Registrar to join the conversation.