Skip ke Konten
Menu
Pertanyaan ini telah diberikan tanda
1 Balas
461 Tampilan

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
Buang
Jawaban Terbai

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
Buang