Saludos, estoy midiendo el tiempo de respuesta cuando hago una consulta a un campo con formato ENUM y otro con formato VARCHAR para saber cual de los dos en más rápido en respuesta. Hice un pequeño probador donde el primer código verifica a ENUM y el siguiente VARCHAR, en los resultados el primer código es más lento que el segundo (ENUM), pero cuando en el código cambio las funciones (el VARCHAR primero), entonces este se hace más rapido que el ENUM. Es decir, no me esta dando la velocidad real, sino según la posición del código.
Quisiera ayuda para probar velocidad de ambos tipos de campo y que el resultado sea lo mas objetivo posible.
Les dejo el codigo y el Mysql.
Código PHP:
<?php
$c = mysql_connect('localhost', 'root', '') or die('Nada');
mysql_select_db('test', $c);
$tiempo_a = microtime(true);
$consulta_1 = mysql_query('SELECT a FROM prueba WHERE id = 2');
$array_1=mysql_fetch_array($consulta_1);
echo "Tiempo ENUM: ".$array_1['a']." - ".number_format((microtime(true) - $tiempo_a),6,'.','').'<br>';
$tiempo_b = microtime(true);
$consulta_2 = mysql_query('SELECT b FROM prueba WHERE id = 2');
$array_2=mysql_fetch_array($consulta_2);
echo "Tiempo VARCHAR: ".$array_2['b']." - ".number_format((microtime(true) - $tiempo_b),6,'.','').'<br>';
?>
BD:
CREATE TABLE IF NOT EXISTS `prueba` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`a` enum('activo','desactivo') NOT NULL,
`b` varchar(6) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
--
-- Volcar la base de datos para la tabla `prueba`
--
INSERT INTO `prueba` (`id`, `a`, `b`) VALUES
(2, 'activo', 'activo');
Gracias por la Ayuda.