Chunk: fragmentando múltiples registros

10/17

Lectura

En la clase anterior aprendimos a usar el modelo Project para traer datos de la tabla projects de una manera bastante simple, ahora imagina que esta tabla creció en registros y ahora se tarda mucho tiempo trayendo, por ejemplo, 900 registros, el rendimiento de la aplicación baja, se puede morir el servidor y ya no logramos tener todos los datos.

...

Regístrate o inicia sesión para leer el resto del contenido.

Aportes 30

Preguntas 2

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

o inicia sesión.

Chunk es posible gracias a los generadores de PHP y yield por si gustan adentrarse un poco más en el cómo funciona

https://www.php.net/manual/en/language.generators.overview.php

Los chunks son muy importantes cuando trabajas con cantidades de datos enormes y necesitas traer demasiados datos,sin duda creo que es una de las mejores implementaciones de Laravel.

Genial curso, el mejor hasta entonces, falta actualizarlo con la version nueva de laravel, sin embargo opto mas por estos cursos por escrito es diferente y muy facil de volver a él y seguir las indicciones.
Por fin me quedo claro el concepto de laravel y su funcionamiento.

Esto es algo nuevo que no tenía conocimiento de ello. Muchas Gracias por el aporte!!

Otra opción es usar limit

Project::select('*')
    ->limit(200)
])->get();

La forma de explicarlo es tan sencillo que lo hace entendible, sin importar las versiones futuras de laravel que salgan, ese es el detalle del curso. (Apréndete la definición y lo básico… lo demás es puro …)

Chunk no permite limitar la cantidad de resgistro en nuestra aplicacion

Chunk es una gran alternativa para procesar grandes volúmenes de información, sin tener que saturar el procesamiento del servidor y de la base de datos.

conocimiento nuevo adquirido

Muy interesante, siempre tuve la duda de como hacer cuando tenemos muchos registro y queremos alterar sin comprometer los recursos de nuestro server.

        $projects = Project::all();

        return collect($projects)->chunk(200);

woow que bien que se den ejemplos con los que nos podemos enfrentar adelante como traer 900 registros o más, no sabía el uso de chunk junto con su closure ahora nunca lo olviadaré :3

esto si no lo conocia 😃 lo que se aprende dia a dia

Además del Chunk, ¿Existe otra forma?

Lamento mucho este tipo de clases en formato texto. lo expuesto no es claro.
.
Descifre como usar este metodo en la documentacion de laravel, les comparto, espero hacer mas claridad

.

.

Y aun asi, para mi, no es claro aun como encadenar este tipo de metodos, no me es claro por que o para que se usa un closure en el texto (me falta ejemplo)

Desconocía totalmente esto pero mi pregunta es, como saber cuando es necesario usar chunk para ir trayendo secciones de datos? Es decir, existe forma de medir el tiempo que tardaría usando una consulta normal con ::all() vs usando ::chunk() por ejemplo.

Un tema muy imporante para ternerlo desde el inicio en las tablas que van a ir creciendo, pero me causo mucha gracia el siguiente texto “se puede morir el servidor”,

Chunk es muy útil cuando trabajas con grandes cantidades de registros. Optimiza muchísimo el rendimiento.

Los chunks los empleamos mucho más que todo para reportes e informes que necesitemos desarrollar es una excelente práctica para este tipo de cosas.

Mi duda es donde aplicamos el chunk, en el controlador? o en la vista?

Que clase tan interesante

Chunk es una herramienta magnifica que se utiliza para la generación de reportes con gran cantidad de datos, en importaciones con miles de registros. Y muy útil cuando se combina con el acceso a campos de relaciones del modelo.

Excelete detalle, para optimizar la recuperación de datos de forma seccionada.

Gracias, Interesante dato de ahora en adelante lo implementare.
https://laravel.com/docs/5.0/eloquent#basic-usage

que buenas clases!!! ahora a ponerlo en practica

Excelente

Muy interesante este tema de los chunks, siempre me preguntaba como recuperar de una forma mas optima todos los datos de una tabla. 👏👏

Muy bien. Gracias.

Entendido.

Muy buenas clases, muy prácticas!!