Odoo Experience 2017
ORM Performance: Optimizations and Best Practices
Developer
Location: Aula Magna / Foyer du Lac - 10/5/17, 12:00 PM - 10/5/17, 12:50 PM (Europe/Brussels) (50 minutes)
ORM Performance: Optimizations and Best Practices
Raphael Collet (rco)
Framework Developer at Odoo
Raphael Collet (rco)
Framework Developer at Odoo

After developing the portal module for version 6.1 and contributing on usability improvements for version 7.0, Raphael moved to the "Framework" team, where he designed and implemented the new Model API in version 8.0. He since maintains and improves the server framework and ORM.


This talk presents the best practices to write efficient code in Odoo, i.e., code that performs

reasonably well with large data sets.

Best practices are based on a good understanding of the ORM's underlying mechanisms.

Those mechanisms are flexible enough to support business code with good performance.

This knowledge will help developers to estimate the performance of design choices and

algorithms, and make a good choice given a situation. Each basic operation performs a certain

 number of database queries that determines the operation's time cost and performance.

The structure of the talk will be as follows:

- Reading records: cache, data prefetching and environments

- Creating, updating and deleting records

- Computed fields: computation, invalidation and recomputation

- Searching records