MySQL - Ayuda con Consulta

   
Vista:

Ayuda con Consulta

Publicado por Victor Hugo (2 intervenciones) el 15/10/2015 17:41:35
Buen día.
Actualmente cuento con una aplicación en PHP y Mysql. En una forma (tabla) del sistema, muestro los registros de una consulta, el gran problema que tengo ahora, es que dicha consulta que apunta a una tabla de la BD cuenta con mas de 2 millones de registros y al cargar la forma en la aplicación se funde debido a lo sobre carga.
Me han sugerido trabajar la consulta en bloques, realmente no se como hacerlo.
Anexo el codigo para buscar una mejor alternativa, les cuento que no soy el Senior en desarrollo, espero tener alguna ayuda, ando en apuros
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Ayuda con Consulta

Publicado por leonardo_josue (81 intervenciones) el 23/10/2015 16:52:52
Hola Victor Hugo:

No tengo experiencia trabajando con PHP, sin tal como lo mencionas, el detalle está en trabajar con bloques, no con los 2 millones de registros a la vez.

Hazte esta pregunta: ¿En realidad es necesario que trates de cargar los 2 millones de registros en el grid? la verdad es que no, es como si quisieras que GOOGLE pusiera todos los resultados de las las búsquedas desde un inicio y siempre... esto es completamente inútil.

Hay muchas técnicas de programación que te pueden servir, tal como mencionas, una de ellas sería trabajar por bloques. ¿Qué quiere decir con esto? que en tu SELECT traigas sólo una parte de la información, no toda... esto lo puedes hacer con LIMIT. Si no sabes cómo utilizar la cláusula LIMIT para paginar, pregunta a San GOOGLE, él generalmente siempre tiene la respuesta.

Ahora bien, hay otras formas para "agilizar" la carga de información. Haciendo la analogía precisamente con GOOGLE, puedes cambiar el orden de tus componentes y colocar primero tu campo de búsqueda y sólo después de que se capture algo en el campo de búsqueda entonces si cargar el grid con la información ya filtrada. Incluso puedes obligar a que el usuario capture al menos 3 caracteres o más para que los resultados no sean tantos y entonces si mostrar los resultados.

Esta en particular es la forma en que a mí me gusta trabajar, es decir, cargar la información bajo demanda.

Haz la prueba y nos comentas.

Saludos
Leo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Ayuda con Consulta

Publicado por Victor Hugo (2 intervenciones) el 23/10/2015 18:48:42
Leonardo gracias por la información, voy a investigar y tratar de implementar lo que me dices, el punto es que efectivamente el grid que en un principio se diseño para cargar cortes de 100 siendo una forma visual de interfaz se volvio caótico ya que a mi modo de ver al cargar dicho formulario donde esta el grid el va a la tabla y realiza el proceso con esos millones de registros para dejar los 100 a modo de vista al finalizar. pero en dicho proceso colpasa el explorador mas no la bd.
Disculpa no soy muy tecnico en palabras, espero la cojas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar