As a reporting system, odoo's main function is to provide powerful data analysis capabilities. For this reason, the odoo framework used Python code to implement the ORM (Object Relational Mapping) function from the beginning of its design, also known as memory mapping.
According to the basic principles of ORM, any field corresponds to a set of database records at the Python code level. In other words, the field declaration in odoo is completely consistent with the data structure in the database. When the odoo system executes a keyword query, it does not immediately execute the SQL language. Instead, it first traverses the odoo model, and then goes to the database to obtain the value based on the traversal results.
Therefore, odoo ORM significantly reduces the database performance requirements of search functions.
However, while this technology improves retrieval speed, it also brings new challenges to program design. Because, a large number of ROM mapping and database hot cache will cause the server memory to grow exponentially. Reflected on the user side, operating costs have skyrocketed.
Therefore, in order to find the perfect balance between performance and cost, we recommend the best ORM solution to customers through accurate database models and ORM computing power simulators.