ISCOUTB / AG-Analysis-ICFES-Backend

GNU Affero General Public License v3.0
0 stars 1 forks source link

Optimize queries (frontend & backend) #15

Open MauroGonzalez51 opened 1 week ago

MauroGonzalez51 commented 13 hours ago

https://github.com/ISCOUTB/AG-Analysis-ICFES-Backend/blob/master/schema/query/definition.py Snippet que permite gestionar la paginacion de los estudiantes, de esta manera, como maximo, se devuelven 1000 registros de la consulta realizada.

MauroGonzalez51 commented 13 hours ago

https://github.com/ISCOUTB/AG-Analysis-ICFES-Frontend/blob/ui-building/composables/home/useHomeMunicipalities.ts

Generar demasiados elementos de manera dinamica impactaba directamente el rendimiento de la aplicacion. Con esto en mente se implementó una estrategia de hacer las consultas on demand, si se cumplen ciertas condiciones, entonces se lanzará el request al backend para obtener la data.

Con esto en mente, la unica consulta que se lanza al momento de iniciar la app, es la que hace referencia a los Departamentos, ya que no depende de ningun otro dato en específico, luego, teniendo esto en cuenta, cuando el usuario seleccione un departamento, se le presentara la opcion de seleccionar un respectivo municipio, pero esto solo sera valido cuando se complete el paso anterior.

De esta manera, aunque se generen muchos elementos con cada consulta, el impacto al rendimiento es mucho menor que hacer todas las consultas a la vez.