Ver Mensaje Individual
  #7 (permalink)  
Antiguo 04/06/2008, 14:48
namorha
 
Fecha de Ingreso: febrero-2008
Mensajes: 102
Antigüedad: 18 años, 7 meses
Puntos: 0
Exclamación Respuesta: Tabla con millones de registros

Hola, ya me he creado indices en mi taba, siguiendo tus consejos, todos los indices son aquellas columnas que van detras de WHERE:

Código PHP:
CREATE TABLE `medias` ( 
  `
aid` int(11) NOT NULL auto_increment, 
  `
fecha` char(50) default NULL, 
  `
hora` char(50) default NULL, 
  `
placa` char(50) default NULL, 
  `
modelo` char(50) default NULL, 
  `
numplaca` char(50) default NULL, 
  `
potencia` double default NULL, 
  `
media3` double default NULL, 
  `
media4` double default NULL, 
  `
tabla` char(50) default NULL, 
  
PRIMARY KEY  (`aid`), 
  
KEY `indicemedia3` (`media3`), 
  
KEY `indicemedia4` (`media4`), 
  
KEY `indicepotencia` (`potencia`), 
  
KEY `indicefecha` (`fecha`), 
  
KEY `indicehora` (`hora`) 
) 
ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=156 ; 
Antiguamente hacia las consultas asi:

Código PHP:
$result = @mysql_query("SELECT * FROM medias WHERE (hora <'$alto' AND hora >'$bajo') AND (numplaca='$mono' OR numplaca='$poli' OR numplaca='$cis') ORDER BY hora"); 
Y ahora asi:

Código PHP:
$result = @mysql_query("SELECT * FROM medias FORCE INDEX (indicehora)
WHERE (hora <'$alto' AND hora >'$bajo') AND (numplaca='$mono' OR numplaca='$poli' OR numplaca='$cis') ORDER BY hora"
); 
Y me tarda exactamente lo mismo.

Cual es mi fallo??? SAludos