Foros del Web » Programando para Internet » PHP »

Nro maximo de registros PHP

Estas en el tema de Nro maximo de registros PHP en el foro de PHP en Foros del Web. Disculpen estoy desarrollando un sistema en PHP y MSQL, mi problema es el siguiente este sistema se alimentad e archivos que cargoa la BD, son ...
  #1 (permalink)  
Antiguo 21/09/2005, 13:13
 
Fecha de Ingreso: septiembre-2004
Mensajes: 91
Antigüedad: 13 años, 2 meses
Puntos: 0
Exclamación Nro maximo de registros PHP

Disculpen estoy desarrollando un sistema en PHP y MSQL, mi problema es el siguiente este sistema se alimentad e archivos que cargoa la BD, son 6 las tablas principales, les dire que tengo data desde el 21 de julio y llevo 22,000,000 aunuqe parezca exagerado eso es lo que tengo, como sabia el script de carga y de algunas consultas duraria mas de lo podria soportar el php por defecto para esto hice los siguientes cambios en el php.ini:
max_execution_time = 3000 ; Maximum execution time of each script, in seconds
max_input_time = 300 ; Maximum amount of time each script may spend parsing request data
memory_limit = 15M ; Maximum amount of memory a script may consume (8MB)
upload_max_filesize = 15M ; Maximum allowed size for uploaded files.
con esto el sistema soportar cargas de muchos tiempo y archivos pesados, cuando trabajo en localhost, no hay problema, gueno ni tanto pero he intentado correr el sistemas desde estaciones de la red local y se queda a medias la carga de la pagina pero si termino la carga de la data, el problema mayor es que cuando uso tambien el phpmyadmin me sale una pantalla ploma diciendo que no se encontro la url y esas cosas, mi consulta es:
1- Que recomendaciones me dan para optimizar mis consultas o que debo hacer en mis basesd e datos para mejorar la performance.
2- Debo modificar algun archivo del apache y del phpmyadmin para que soporte largas consultas o script que duren m,ucho.
Les agradecere a todos su ayuda...
__________________
El amor es aquello que me da la fuerza para seguir, y ella es la bateria que Dios me dio para estar siempre activo. :corazon:
  #2 (permalink)  
Antiguo 21/09/2005, 13:50
Avatar de davidangel  
Fecha de Ingreso: abril-2005
Mensajes: 124
Antigüedad: 12 años, 7 meses
Puntos: 0
bueno lo q puedo decirte es q para tus consultas
puedes realizar solo peticiones de poca data osea
q te muestre no toda la data sino de poco a poco(en cantidad de registros)
ademas puedes crear tablas con indixes para una mejor busqueda

bueno suerte nos vemos
  #3 (permalink)  
Antiguo 21/09/2005, 14:45
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Deberías indicar tu modelo de datos completo (tus BD) describirlo e indicar que consultas SQL realizas con que objetivo .. tal vez por ahí se pueda mejorar el modelo de datos y/o consultas SQL que haces.

Por otro lado .. lo que te han comentado sobre "paginar" resultados .. No sé si pretendes -siempre- mostrar esos "22,000,000" a un usuario .. pero "paginado" que es lo que un "humano" va a ver según tiempo tenga para ver el resto de datos, ofrece menos carga de proceso ya que "SQL" (de Mysql) dispone de funciones (LIMIT por ejemplo) para ir arrojando resultados desde un registro inicio hasta un inicio+N registros hacia adelante (los que registros que veras por página. Fijate en un foro como este, tienen millones de registros y muchasssss más relaciones de las que tu usuas, más usuarios activos moviendo temas y mensajes .. fijate como anda de "suave" al moverte por el la enorme BD).

Un saludo,

PD: esto es un tema que deberías partir por optimizar tu modelo de datos y consultas SQL en el foro de "Base de datos" y lo que quede aquí en el foro de PHP.
  #4 (permalink)  
Antiguo 22/09/2005, 09:41
 
Fecha de Ingreso: septiembre-2004
Mensajes: 91
Antigüedad: 13 años, 2 meses
Puntos: 0
Justo a eso me refiero no intentaria tampoco mostar la data no hay problema con la opaginacion, pero tengo 6 tablas principales con un promedio de 30 campos cada uno, mi problemas es q en localhost si ejecuta los procesos y me da el resultado (lo de paginacion no hay problema), pero cuando intento acceder de la red me sale una pantalla ploma o simplenete la pagina se carga a media pagina, es decir no termina el script, por eso quisiera saber si debo modificar algo en un archivo de apache o del phpmyadmin, porque a veces para probar mis consultas las quiero correr en el phpmyadmin del server por red y se planta, talves deba configurar algo, solo he cambiado los valores de php.ini y por eso talves mis consultas trabajan ok en localhost, quisiera saber que poder hacer para que trabaje optimamnete y mejore los tiempos de acceso y de respuesta, para mi diseño no uso imagenes ni nada(solo botones flash) solo un fondo plomo claro nada mas, espero sus recomendaciones y dudas, gracias
__________________
El amor es aquello que me da la fuerza para seguir, y ella es la bateria que Dios me dio para estar siempre activo. :corazon:
  #5 (permalink)  
Antiguo 22/09/2005, 10:01
 
Fecha de Ingreso: septiembre-2004
Mensajes: 91
Antigüedad: 13 años, 2 meses
Puntos: 0
Otra cosa normalmente hago consulta a una de estas 6 tablas (muestro todos los campos aprox 30-35) los usuarios pueden elegir los campos para la busqueda es decir de los 30 campos ellos eligen que campos campos ingresaran valores y dependiendo de esto se construye la sentencia para mostrar los resultados, entre mas campos menor la cantidad de resultados, luego de esto si hacen click en un campo inscripcions del resultado hace una busqueda en las 6 tablas mostrando todos los resultados que correspondan a la inscripcion en las 6 tablas, necesitaria las recomendaciones para que mejores los tiempos de de respuesta y que al lado del usuario no se plante sin mostrale nada les agradecre su colaboracion
__________________
El amor es aquello que me da la fuerza para seguir, y ella es la bateria que Dios me dio para estar siempre activo. :corazon:
  #6 (permalink)  
Antiguo 22/09/2005, 10:01
 
Fecha de Ingreso: junio-2005
Mensajes: 981
Antigüedad: 12 años, 6 meses
Puntos: 2
Como dices te salta una pantalla ploma, pero que dice esta?
Por otro lado, si tienes las consultas a la DB optimizadas no tendrias que tener problema con el tiempo de ejecucion del script, si paginas los resultados (limitar la cantidad de resultados devueltos) mejoras mucho el rendimiento (mucho es poco ) tal vez el problema del tiempo de ejecucion no venga de parte de la DB o de las consultas, revisa bien que es lo que provoca tal retardo. Tambien hay algunos "trucos" para optimizar, como puede ser el tipo de tabla usada en MySql, creo que la tabla MyIsam es la mas rapida pero no soporta llaves foraneas (foreing key), consulta el manual oficial y verifica esto. Tambien esta el tema de indexar las tablas para que sea mas rapido las consultas.

Ahora aclaro, todo lo que deji ya lo habian dicho, pero si queria recalcar el tema del tiempo del script, que vuelvo a decirlo que si ya optimizaste las consultas en "teoria" no tendrias que tener ese problema de tiempo.

Solucion? No creo que se te pueda dar una solucion, solo orientarte, pero tal vez si dieras el formato de las tablas y parte del script que usas se te pueda ayudar mas para verificar como trabajas.

Bueno en resumen no dije nada mas que repetir lo dicho . Saludos y suerte.
  #7 (permalink)  
Antiguo 22/09/2005, 10:03
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Para dar una opinion .. se necesita que TU aportes todo .. tu código y tu diseño de tu Base de datos (tablas) y expliques que relación tiene todo ... sino, se te pueden no sabemos si realmente lo que tienes ya hecho está bien y no hay más forma de optimización o no.

Un saludo,
  #8 (permalink)  
Antiguo 22/09/2005, 10:35
 
Fecha de Ingreso: septiembre-2004
Mensajes: 91
Antigüedad: 13 años, 2 meses
Puntos: 0
Exclamación Nro maximo de registros PHP

ok si estoy trabajando con tablas MyISAM, Mysql 4.1.11 aqui le va algo de codigo, no he cerado realciones entre ellas.
Código PHP:
$cadena1 "SELECT DISTINCT codigo_zonal,codigo_ciudad,codigo_pedido,inscripcion,telefono_anterior,telefono_actual,codigo_prefijo,fecha_registro,";
        
$cadena1 .= "fecha_liquidacion_tecnica,codigo_negocio,codigo_clasificacion,codigo_preferente,codigo_plan,codigo_promocion_actual,codigo_promocion_anterior,";                
        
$cadena1 .= "nombre_abonado,direccion_postal,codigo_medio_utilizado,fecha_anulacion,codigo_estado,codigo_registrador,codigo_segmento ";        
        
$cadena1 .= "FROM pedidos_liquidados_gestel WHERE ";
        
//Asignar los valores POST a un array
        
while(list($key$val) = each($_POST)) {    
        
//Switch para concluir con la $cadena2
        
switch ($key) {                 
        case 
'conector_codigo_zonal':
            
//Verificar si el conector es LIKE
            
if ($val == 'LIKE') {
                
$enter 'codigo_zonal';
            } else {
                
$enter '';
            }            
             
$cadena2 .= "codigo_zonal ".$val;
             break;
                ........... 
mas  case dependiendo de lo elegido
}
    
//Unir las cadenas para realizar la consulta
    
$sentencia=$cadena1.$cadena2;
    
//Determinar el tamaño de la consulta
    
$final=strlen($sentencia);
    
$final=$final 4;
    
//Eliminar los ultimos 4 caracteres
    
$sentencia=substr($sentencia,0,$final);
    
//Concatenar a la consulta una cadena 
    
$sentencia .= " ORDER BY fecha_insercion DESC,inscripcion ";
    
//Ejecutar la consulta
    
$consecuencia mysql_query($sentencia,$Sistema) or die(mysql_error());
    
//Contar cuantos registros devolvio la consulta
    
$numero=mysql_num_rows($consecuencia);
while (
$registro mysql_fetch_array($_pagi_result)){ 
//Campo donde se numera la consulta              echo "<td><center>$r</center></td>";                for ($i=0;$i<22;$i++){                 
        //Agrega los campos a las filas
        
echo "<td> $registro[$i] </td>"
    } 
}     
echo 
"</tr>"
Disculpen pero he omitido parte del codigo que me parecio innecesario, he creado indices en mis tablas, a ver que recomendaciones me pueden dar, a cerca del la pagina ploma me sale esto Proxy Reports:

10060 Connection timed out
The web server specified in your URL could not be contacted. Please check your URL or try your request again.
This error could have been caused by:

Bad / misspelled URL
Following an invalid link
Your network connection and/or transient conditions on the Internet
Load conditions on the web server.
__________________
El amor es aquello que me da la fuerza para seguir, y ella es la bateria que Dios me dio para estar siempre activo. :corazon:
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

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 10:55.