Foros del Web » Programando para Internet » PHP »

Problemas con el tiempo bd

Estas en el tema de Problemas con el tiempo bd en el foro de PHP en Foros del Web. Hola buenas, Tengo una tabla de 500.000 usuarios y lo limito con LIMIT el problema es que los primeros resultados de las paginas va perfecto ...
  #1 (permalink)  
Antiguo 01/07/2010, 00:19
Avatar de syntex  
Fecha de Ingreso: noviembre-2002
Ubicación: Cataluña
Mensajes: 978
Antigüedad: 21 años, 5 meses
Puntos: 4
Problemas con el tiempo bd

Hola buenas,

Tengo una tabla de 500.000 usuarios y lo limito con LIMIT el problema es que los primeros resultados de las paginas va perfecto y rápido, pero si me voy a la página por ejemplo 12000 tarda mucho en ejecutar la consulta.

Os paso el código y que esta mal?
Tengo que crear index, pero donde? En el Id?

Código PHP:
mysql_query("CREATE TABLE IF NOT EXISTS `$DB`.`visitas` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT ,
`id_usuario` INT( 15 ) NOT NULL ,
`id_agente` INT( 15 ) NOT NULL ,
`ip` VARCHAR( 80 ) NOT NULL ,
`url_access` VARCHAR( 80 ) NOT NULL ,
`explorador` VARCHAR( 80 ) NOT NULL ,
`idioma` VARCHAR( 80 ) NOT NULL ,
`visitado` VARCHAR( 150 ) NOT NULL ,
`url` VARCHAR( 100 ) NOT NULL ,
`fecha` DATE NOT NULL ,
`hora` TIME NOT NULL ,
PRIMARY KEY ( `id` )
) ENGINE = MYISAM"
,$conexion); 

Código PHP:
$R $this->Bd->consultar("*",$this->BD,$this->WHERE,"$this->ORDENAR LIMIT $limit");
while (
$RR $this->Bd->obtendatos($R)){
.......
.......
.......
.......
}
$this->Bd->limpiaconsulta($R);
$R $this->Bd->consultar("id",$this->BD,$this->WHERE,$this->ORDENAR);
$Rn $this->Bd->num_rows($R);
$this->Bd->limpiaconsulta($R); 
La consulta seria correcta?
La consulta es de todos los campos creados en la tabla por eso le e puesto "*".

Muchas gracias.
__________________
------------------------------------------------
La paciencia es el rey de la ciencia
------------------------------------------------


Última edición por syntex; 01/07/2010 a las 00:51
  #2 (permalink)  
Antiguo 08/07/2010, 00:59
Avatar de syntex  
Fecha de Ingreso: noviembre-2002
Ubicación: Cataluña
Mensajes: 978
Antigüedad: 21 años, 5 meses
Puntos: 4
Respuesta: Problemas con el tiempo bd

Hola muy buenas,

Nadie sabria responderme de esta duda?

Solicito algun moderador que me lo reporte en el tema del foro correcto. Ya que necesitaria saber como realizar consultas rápidas sin que existiera un WHERE y realizar consultas.

El tema del comodin lo e puesto porque se consultará todos sus registros de la tabla que estan en la bd.

Muchas gracias a todos.
__________________
------------------------------------------------
La paciencia es el rey de la ciencia
------------------------------------------------

  #3 (permalink)  
Antiguo 08/07/2010, 01:09
Avatar de shakaran  
Fecha de Ingreso: agosto-2005
Ubicación: España - Ciudad Real
Mensajes: 374
Antigüedad: 18 años, 8 meses
Puntos: 7
Respuesta: Problemas con el tiempo bd

Deberias hacer el LIMIT entre rangos por ejemplo LIMIT 100, 200

Porque según lo que dices, estarias trayendo 12000 mil registro de una, y asi de esa forma de 100 en 100 o los que quieras.
__________________
Quijost Backend Engineer - www.quijost.com - Hosting rápido, eficiente y profesional
Blog: www.shakaran.net
  #4 (permalink)  
Antiguo 08/07/2010, 01:49
Avatar de syntex  
Fecha de Ingreso: noviembre-2002
Ubicación: Cataluña
Mensajes: 978
Antigüedad: 21 años, 5 meses
Puntos: 4
Respuesta: Problemas con el tiempo bd

$limit = "500340 , 30";

Es la ultima pagina, paginado en 30.

Y el "0,30" super rápido pero con la consulta de arriba va super lento.

Gracias.
__________________
------------------------------------------------
La paciencia es el rey de la ciencia
------------------------------------------------

  #5 (permalink)  
Antiguo 08/07/2010, 02:04
Avatar de shakaran  
Fecha de Ingreso: agosto-2005
Ubicación: España - Ciudad Real
Mensajes: 374
Antigüedad: 18 años, 8 meses
Puntos: 7
Respuesta: Problemas con el tiempo bd

Tendras que mirar algo sobre las SLOW QUERIES. O crear un indice FULL TEXT.

Aunque tu pregunta es más del foro de Bases de datos.
__________________
Quijost Backend Engineer - www.quijost.com - Hosting rápido, eficiente y profesional
Blog: www.shakaran.net
  #6 (permalink)  
Antiguo 08/07/2010, 02:31
Avatar de syntex  
Fecha de Ingreso: noviembre-2002
Ubicación: Cataluña
Mensajes: 978
Antigüedad: 21 años, 5 meses
Puntos: 4
Respuesta: Problemas con el tiempo bd

Tendria que crear FULL TEXT en todos los campos que hay a consultar de la BD?

Si hiciera falta me lo trasladais al tema de Base de datos para realizar esta consulta.

Gracias.
__________________
------------------------------------------------
La paciencia es el rey de la ciencia
------------------------------------------------


Etiquetas: bd
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:00.