Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

minimizar numero de consultas a la base de datos #1688

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

elguitarraverde
Copy link
Contributor

@elguitarraverde elguitarraverde commented Oct 26, 2024

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.

captura_pantalla

¿Cómo has probado los cambios?

Toda modificación debe haber sido mínimamente probada. Marca o describe las pruebas que has realizado:

  • He revisado mi código antes de enviarlo.
  • He probado que funciona correctamente en mi PC.
  • He probado que funciona correctamente con una base de datos vacía.
  • [] He ejecutado los tests unitarios.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant