The dispatching layer of Odoo (common to any call) can avoid a query on website if those 3 values are cached. Note that for complex business flows, there won't be any gain since website infos will have to be fetched at some point. About user_id: In most cases, for a website page you will need to browse the website btw so we don't remove this request previously. But in case of a simple image, the controller /web/content need the public user just to set the request.uid in auth_public but no other info from website. With this commit, we don't do the 'select * from website where id in()' request on each controller declared in auth='public' but use the user_id from the cache. (Invalidated by the write on website_id) task-2211013 Co-authored-by: Jérémy Kersten <jke@odoo.com> Co-authored-by: Romain Derie <rde@odoo.com>
11 lines
358 B
Python
11 lines
358 B
Python
# -*- coding: utf-8 -*-
|
|
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
|
|
|
from odoo.addons.website.tests.test_performance import UtilPerf
|
|
|
|
|
|
class TestPerformance(UtilPerf):
|
|
def test_10_perf_sql_website_controller_minimalist(self):
|
|
url = '/empty_controller_test'
|
|
self.assertEqual(self._get_url_hot_query(url), 3)
|