<?php
	//Arrancamos el core de webStore
	include('initWebStore.php');
	$limite = 100;
	
	error_reporting(E_ALL);

	//$lineasPedido = new LineaCesta($opciones);
	//Vamos a hacer un test de velocidad:
	BaseDatos::$consultas_realizadas = 0;
	echo('<pre>');
	echo("Empezamos con 1 cargas una select compleja:\n");
	$inicio = microtime(true);
	$total = 0;
	for($i = 0; $i < $limite; $i++){
		$select = 'SELECT  `al_2_`.`codigo` `al_2__codigo` , `al_2_`.`tipo` `al_2__tipo` , `al_2_`.`nombre` `al_2__nombre` , `al_2_`.`subtitulo` `al_2__subtitulo` , `al_2_`.`stock` `al_2__stock` , `al_2_`.`pvp` `al_2__pvp` , `al_2_`.`iva` `al_2__iva` , `al_2_`.`ean` `al_2__ean` , `al_2_`.`referencia` `al_2__referencia` , `al_2_`.`isbn` `al_2__isbn` , `al_2_`.`autor` `al_2__autor` , `al_2_`.`fecha_alta` `al_2__fecha_alta` , `al_2_`.`num_paginas` `al_2__num_paginas` , `al_2_`.`peso` `al_2__peso` , `al_2_`.`alto` `al_2__alto` , `al_2_`.`ancho` `al_2__ancho` , `al_2_`.`ilustrador` `al_2__ilustrador` , `al_2_`.`observaciones` `al_2__observaciones` , `al_2_`.`fecha_ult_modif` `al_2__fecha_ult_modif` , `al_2_`.`editorial` `al_2__editorial` , `al_2_`.`coleccion` `al_2__coleccion` , `al_2_`.`no_web` `al_2__no_web` , `al_2_`.`familia` `al_2__familia` , `al_2_`.`foto` `al_2__foto` , `al_2_`.`tema` `al_2__tema` , `al_2_`.`pvpoferta` `al_2__pvpoferta` , `al_2_`.`dto_maximo` `al_2__dto_maximo` , `al_2_`.`texto` `al_2__texto` , `al_2_`.`pvp_tar1` `al_2__pvp_tar1` , `al_2_`.`pvp_tar2` `al_2__pvp_tar2` , `al_2_`.`pvp_tar3` `al_2__pvp_tar3` , `al_2_`.`pvp_tar4` `al_2__pvp_tar4` , `al_2_`.`dto_tar1` `al_2__dto_tar1` , `al_2_`.`dto_tar2` `al_2__dto_tar2` , `al_2_`.`dto_tar3` `al_2__dto_tar3` , `al_2_`.`dto_tar4` `al_2__dto_tar4` , `al_2_`.`encuadernacion` `al_2__encuadernacion` , `al_2_`.`edicion` `al_2__edicion` , `al_2_`.`ano_edicion` `al_2__ano_edicion` , `al_2_`.`stock_disponible` `al_2__stock_disponible` , `al_2_`.`desde_edad` `al_2__desde_edad` , `al_2_`.`hasta_edad` `al_2__hasta_edad` , `al_2_`.`promociones` `al_2__promociones` , `al_2_`.`estado` `al_2__estado` , `al_2_`.`nivel_lectura` `al_2__nivel_lectura` , `al_2_`.`curso` `al_2__curso` , `al_2_`.`ubicacion1` `al_2__ubicacion1` , `al_2_`.`ubicacion2` `al_2__ubicacion2` , `al_2_`.`fecha_envio` `al_2__fecha_envio` , `al_2_`.`pendiente_envio` `al_2__pendiente_envio` , `al_2_`.`fecha_creacion_web` `al_2__fecha_creacion_web` , `al_2_`.`suma_votos` `al_2__suma_votos` , `al_2_`.`total_votos` `al_2__total_votos` , `al_2_`.`pendiente_envio_suscripcion` `al_2__pendiente_envio_suscripcion` , `al_2_`.`fecha_envio_suscripcion` `al_2__fecha_envio_suscripcion` , `al_2_`.`cod_editorial` `al_2__cod_editorial` , `al_2_`.`cod_distribuidor` `al_2__cod_distribuidor` , `al_2_`.`tipo_libro` `al_2__tipo_libro` , `al_2_`.`unidades_caja` `al_2__unidades_caja` , `al_2_`.`tipo_precio` `al_2__tipo_precio` , `al_2_`.`nombre_coleccion` `al_2__nombre_coleccion` , `al_2_`.`referencia_interna` `al_2__referencia_interna` , `al_2_`.`talla` `al_2__talla` , `al_2_`.`color` `al_2__color` , `al_2_`.`articulo_padre` `al_2__articulo_padre` , `al_2_`.`fecha_ultima_compra` `al_2__fecha_ultima_compra` , `al_2_`.`numero_coleccion` `al_2__numero_coleccion` , `al_2_`.`cod_tema` `al_2__cod_tema` , `al_2_`.`puntos_fideliza` `al_2__puntos_fideliza` , `al_83_`.`articulo` `al_83__articulo` , `al_83_`.`idioma` `al_83__idioma` , `al_83_`.`traduccion` `al_83__traduccion` , `al_3_`.`codigo` `al_3__codigo` , `al_3_`.`idioma` `al_3__idioma` , `al_3_`.`articulo` `al_3__articulo` , `al_3_`.`nombre` `al_3__nombre` , `al_3_`.`title` `al_3__title` , `al_3_`.`descripcion` `al_3__descripcion` , `al_3_`.`keywords` `al_3__keywords` , `al_35_`.`codigo` `al_35__codigo` , `al_35_`.`nombre` `al_35__nombre` , `al_35_`.`grupo` `al_35__grupo` , `al_35_`.`descuentos_rappel` `al_35__descuentos_rappel`  
							FROM search_index as `al_63_`,  articulo as `al_2_`  LEFT JOIN  traducarti as `al_83_`  on (  `al_2_`.`codigo`  =  `al_83_`.`articulo`  AND  "ES"  =  `al_83_`.`idioma`  )  LEFT JOIN  articulo_seo as `al_3_`  on (  `al_2_`.`codigo`  =  `al_3_`.`articulo`  AND  "ES"  =  `al_3_`.`idioma`  )  LEFT JOIN  familia as `al_35_`  on (  `al_2_`.`familia`  =  `al_35_`.`codigo`  )  
							WHERE  `al_2_`.`no_web` = 0  AND  (`al_63_`.`valor` like \'%miel%\')  AND `al_63_`.`articulo` = `al_2_`.`codigo` 
							 AND (`al_2_`.`ean` != "")
							 AND  (  `al_2_`.`codigo` IN (SELECT `al_10_`.`articulo`  FROM `categorias-productos` as `al_10_`,  `traducesca` as `al_85_`  WHERE `al_85_`.`nombre` LIKE \'Alimentacion\'  AND `al_85_`.`escaparate` = `al_10_`.`categoria` )  OR  `al_2_`.`codigo` IN (SELECT `al_10_`.`articulo`  FROM `categorias-productos` as `al_10_`,  `traducesca` as `al_85_`  WHERE `al_85_`.`nombre` LIKE \'Complementos alimenticios\'  AND `al_85_`.`escaparate` = `al_10_`.`categoria` )  ) ';
		$bd = new BaseDatos();
		if ($bd->isConectado()){
			$bd->setConsultaSQL($select);
			$total += $bd->getNumeroFilas();
		}
	}
	$fin = microtime(true);
	echo("Primera prueba: " . (floatval($fin) - floatval($inicio) ) . "\n");
	echo("Hay un total de $total líneas \n");
	echo("Hay un total de " . BaseDatos::$consultas_realizadas . " consultas realizadas \n");
	BaseDatos::$consultas_realizadas = 0;
	//Vamos con la segunda prueba dónde hacemos dos select menos complejas
	echo("\nAhora cargamos los elementos por separado\n");
	$total = 0;
	$inicio = microtime(true);
	for($i = 0; $i < $limite; $i++){
		//Primero cogemos los dos códigos:
		$listaCodigos = array();
		$bd = new BaseDatos();
		if ($bd->isConectado()){
			$sentencia = 'SELECT escaparate FROM traducesca WHERE nombre LIKE \'Alimentacion\'';
			$bd->setConsultaSQL($sentencia);
			$fila = $bd->getFila();
			$listaCodigos[] = $fila['escaparate'];
			
			$sentencia = 'SELECT escaparate FROM traducesca WHERE nombre LIKE \'Complementos alimenticios\'';
			$bd->setConsultaSQL($sentencia);
			$fila = $bd->getFila();
			$listaCodigos[] = $fila['escaparate'];
			
			//Ahora componemos una select grande con el resultado de las dos select añadido:
			$sentencia = 'SELECT  `al_2_`.`codigo` `al_2__codigo` , `al_2_`.`tipo` `al_2__tipo` , `al_2_`.`nombre` `al_2__nombre` , `al_2_`.`subtitulo` `al_2__subtitulo` , `al_2_`.`stock` `al_2__stock` , `al_2_`.`pvp` `al_2__pvp` , `al_2_`.`iva` `al_2__iva` , `al_2_`.`ean` `al_2__ean` , `al_2_`.`referencia` `al_2__referencia` , `al_2_`.`isbn` `al_2__isbn` , `al_2_`.`autor` `al_2__autor` , `al_2_`.`fecha_alta` `al_2__fecha_alta` , `al_2_`.`num_paginas` `al_2__num_paginas` , `al_2_`.`peso` `al_2__peso` , `al_2_`.`alto` `al_2__alto` , `al_2_`.`ancho` `al_2__ancho` , `al_2_`.`ilustrador` `al_2__ilustrador` , `al_2_`.`observaciones` `al_2__observaciones` , `al_2_`.`fecha_ult_modif` `al_2__fecha_ult_modif` , `al_2_`.`editorial` `al_2__editorial` , `al_2_`.`coleccion` `al_2__coleccion` , `al_2_`.`no_web` `al_2__no_web` , `al_2_`.`familia` `al_2__familia` , `al_2_`.`foto` `al_2__foto` , `al_2_`.`tema` `al_2__tema` , `al_2_`.`pvpoferta` `al_2__pvpoferta` , `al_2_`.`dto_maximo` `al_2__dto_maximo` , `al_2_`.`texto` `al_2__texto` , `al_2_`.`pvp_tar1` `al_2__pvp_tar1` , `al_2_`.`pvp_tar2` `al_2__pvp_tar2` , `al_2_`.`pvp_tar3` `al_2__pvp_tar3` , `al_2_`.`pvp_tar4` `al_2__pvp_tar4` , `al_2_`.`dto_tar1` `al_2__dto_tar1` , `al_2_`.`dto_tar2` `al_2__dto_tar2` , `al_2_`.`dto_tar3` `al_2__dto_tar3` , `al_2_`.`dto_tar4` `al_2__dto_tar4` , `al_2_`.`encuadernacion` `al_2__encuadernacion` , `al_2_`.`edicion` `al_2__edicion` , `al_2_`.`ano_edicion` `al_2__ano_edicion` , `al_2_`.`stock_disponible` `al_2__stock_disponible` , `al_2_`.`desde_edad` `al_2__desde_edad` , `al_2_`.`hasta_edad` `al_2__hasta_edad` , `al_2_`.`promociones` `al_2__promociones` , `al_2_`.`estado` `al_2__estado` , `al_2_`.`nivel_lectura` `al_2__nivel_lectura` , `al_2_`.`curso` `al_2__curso` , `al_2_`.`ubicacion1` `al_2__ubicacion1` , `al_2_`.`ubicacion2` `al_2__ubicacion2` , `al_2_`.`fecha_envio` `al_2__fecha_envio` , `al_2_`.`pendiente_envio` `al_2__pendiente_envio` , `al_2_`.`fecha_creacion_web` `al_2__fecha_creacion_web` , `al_2_`.`suma_votos` `al_2__suma_votos` , `al_2_`.`total_votos` `al_2__total_votos` , `al_2_`.`pendiente_envio_suscripcion` `al_2__pendiente_envio_suscripcion` , `al_2_`.`fecha_envio_suscripcion` `al_2__fecha_envio_suscripcion` , `al_2_`.`cod_editorial` `al_2__cod_editorial` , `al_2_`.`cod_distribuidor` `al_2__cod_distribuidor` , `al_2_`.`tipo_libro` `al_2__tipo_libro` , `al_2_`.`unidades_caja` `al_2__unidades_caja` , `al_2_`.`tipo_precio` `al_2__tipo_precio` , `al_2_`.`nombre_coleccion` `al_2__nombre_coleccion` , `al_2_`.`referencia_interna` `al_2__referencia_interna` , `al_2_`.`talla` `al_2__talla` , `al_2_`.`color` `al_2__color` , `al_2_`.`articulo_padre` `al_2__articulo_padre` , `al_2_`.`fecha_ultima_compra` `al_2__fecha_ultima_compra` , `al_2_`.`numero_coleccion` `al_2__numero_coleccion` , `al_2_`.`cod_tema` `al_2__cod_tema` , `al_2_`.`puntos_fideliza` `al_2__puntos_fideliza` , `al_83_`.`articulo` `al_83__articulo` , `al_83_`.`idioma` `al_83__idioma` , `al_83_`.`traduccion` `al_83__traduccion` , `al_3_`.`codigo` `al_3__codigo` , `al_3_`.`idioma` `al_3__idioma` , `al_3_`.`articulo` `al_3__articulo` , `al_3_`.`nombre` `al_3__nombre` , `al_3_`.`title` `al_3__title` , `al_3_`.`descripcion` `al_3__descripcion` , `al_3_`.`keywords` `al_3__keywords` , `al_35_`.`codigo` `al_35__codigo` , `al_35_`.`nombre` `al_35__nombre` , `al_35_`.`grupo` `al_35__grupo` , `al_35_`.`descuentos_rappel` `al_35__descuentos_rappel`  
							FROM search_index as `al_63_`,  articulo as `al_2_`  LEFT JOIN  traducarti as `al_83_`  on (  `al_2_`.`codigo`  =  `al_83_`.`articulo`  AND  "ES"  =  `al_83_`.`idioma`  )  LEFT JOIN  articulo_seo as `al_3_`  on (  `al_2_`.`codigo`  =  `al_3_`.`articulo`  AND  "ES"  =  `al_3_`.`idioma`  )  LEFT JOIN  familia as `al_35_`  on (  `al_2_`.`familia`  =  `al_35_`.`codigo`  )  
							WHERE  `al_2_`.`no_web` = 0  AND  (`al_63_`.`valor` like \'%miel%\')  AND `al_63_`.`articulo` = `al_2_`.`codigo` 
							 AND (`al_2_`.`ean` != "")
							 AND  (  `al_2_`.`codigo` IN (SELECT `al_10_`.`articulo`  FROM `categorias-productos` as `al_10_` WHERE `al_10_`.`categoria`= ' . $listaCodigos[0] . ')  OR  
							 `al_2_`.`codigo` IN (SELECT `al_10_`.`articulo`  FROM `categorias-productos` as `al_10_` WHERE `al_10_`.`categoria`= ' . $listaCodigos[1] . ')  ) ';
			$bd->setConsultaSQL($sentencia);
			$total += $bd->getNumeroFilas();
		}
	}
	$fin = microtime(true);
	echo("Segunda prueba: " . (floatval($fin) - floatval($inicio) ) . "\n");
	echo("Hay un total de $total líneas \n");
	echo("Hay un total de " . BaseDatos::$consultas_realizadas . " consultas realizadas \n");
	echo('</pre>');