Ir al contenido
Menú
Se marcó esta pregunta
1 Responder
462 Vistas

Bonjour, 


Je débute sur Odoo et j'ai remarqué via le profiler que par exemple sur la view des sales order Odoo faisait des requêtes différentes pour les vendeurs, les partenaires au lieu de faire des left join. 


Est ce que vous savez pourquoi et si ça a un impact sur les performances ?


Merci 

Avatar
Descartar
Mejor respuesta

Hi,


Odoo intentionally avoids LEFT JOINs in views like Sales Orders to keep queries simpler, modular, and avoid issues like row duplication in one-to-many or many-to-many relationships.


Instead, it uses a prefetching mechanism that batches related record queries efficiently and caches them for reuse, reducing the total number of queries during record navigation.


This design helps maintain better form view performance, especially when fields involve access rules or computed values, which can make complex joins slower or problematic.


Although it may look inefficient in profiling tools, this approach generally results in better real-world performance, scalability, and database compatibility, especially with PostgreSQL.


Hope it helps.

Avatar
Descartar