Ver Mensaje Individual
  #7 (permalink)  
Antiguo 04/06/2008, 14:48
namorha
 
Fecha de Ingreso: febrero-2008
Mensajes: 102
Antigüedad: 16 años, 1 mes
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` ( 
  `
aidint(11NOT NULL auto_increment
  `
fechachar(50) default NULL
  `
horachar(50) default NULL
  `
placachar(50) default NULL
  `
modelochar(50) default NULL
  `
numplacachar(50) default NULL
  `
potenciadouble default NULL
  `
media3double default NULL
  `
media4double default NULL
  `
tablachar(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