minimizar numero de consultas a la base de datos #1688
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Descripción
EN FACTURA CLIENTE
Actualmente para obtenter la url del producto se consulta en la base de datos el producto por cada línea, tanto en documento como en vista rectificativa.
También se consulta si existe el usuario en múltiples ocasiones, cuando ya se ha obtenido el usuario en la sesión. por lo que esta comprobación es redundante.
En multiples localizaciones del codigo se consulta el producto y variante por linea.
Esto hace que las consultas a la base de datos se multipliquen.
Se ha refactorizado el código en el modelo FacturaCliente para obtener todas las variantes y productos de cada línea en una sola consulta, optimizando así el número de consultas a la base de datos.
Se he eliminado la comprobación de que si el usuario existe. Ya que si se encuentra en la clase Session es porque existe.
Se ha refactorizado el codigo que llamaba a getProducto para que acceda direcamente a ->producto evitando consultar a la base de datos.
De esta forma, en una factura que tiene por ejemplo 500 lineas, se ha pasado de unas 1.000 consultas a la base de datos a solo unas 60 consultas.
¿Cómo has probado los cambios?
Toda modificación debe haber sido mínimamente probada. Marca o describe las pruebas que has realizado: