Ver Mensaje Individual
  #8 (permalink)  
Antiguo 06/12/2007, 14:33
Avatar de xcars
xcars
 
Fecha de Ingreso: mayo-2005
Ubicación: El Salvador
Mensajes: 753
Antigüedad: 19 años
Puntos: 4
Re: Como hacer querys por partes??

el problema no se resuelve en el javascript, se resuelve en el query que se ejecuta en el servidor, y con LIMIT lo puedes resolver, recuerda que LIMIT tiene 2 parametros desde donde y cuantos
LIMIT 100, 25 o LIMIT 100 etc etc
es decir, que lo que debes de armar bien es tu query como que estuvieras paginando, pero en lugar de paginar en varias paginas, lo que haras es que luego de hacer un calculo de elementos, imprimirlos en pantalla, y ejecutar la siguiente consulta, la de los siguientes registros, y asi hasta que termines.

1) Calcular el numero total de registros a devolver (segun el ejemplo 5,000)
2) hacer un bucle en javascript de 0 a 4 (i=0 a 4)
3) no_registros=1000
4) query con limit al final: LIMIT i*no_registros,no_registros
5) luego de ejecutar el query, imprimir en html
6) next

algo asi, recuerda que esta escrito segun lo he ido pensando, pero es una idea basica.

Cita:
Iniciado por martinoso Ver Mensaje
si..realmente son muchos datos para una pantalla..pero por el momento debo mostrarlos...

y ciertamente el tiempo de consulta es el mismo, revisando veo que el problema es:

while(rs.next()) {
//aca voy llenando mi arreglo json
arreglo_json.add(rs.getString("campo"));
//y el resto de los campos q necesito
}

si monto en el objeto json muchos registros tarda mucho para obtener la respuesta en:

miarreglo = http_request.responseText.parseJSON();

y asi poder con js armar la tabla en cuestion...

Mi pregunta es:

Puedo de alguna manera pasar a mi javascript el arreglo json con pocos registros?

se que se devuelve el arreglo con todos los registros....no se si existe algun limite

en la cantidad de elementos q puedo montar en el arreglo json...

quizas son muchos datos los que estoy recibiendo con la solicitud de AJAX...
__________________
Con Microaplicaciones puedes hacer tu tienda en línea de forma sencilla y rápida, sin costos ocultos y con mucha responsabilidad.