From 303cf54a76ea5aab27c409048b92a8ef15fc8e1f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Theys?= Date: Thu, 9 Dec 2021 12:40:49 +0000 Subject: [PATCH] [FIX] base: add index for partner on user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Without this index, finding the user(s) of a partner makes a seq scan, which could take up to 100ms on my machine with only few thousand users. By adding the index, the time is reduced to around 5ms. Part of task-2702450 closes odoo/odoo#81176 X-original-commit: 372f1c5ebac4b9b542994ea5aaad59abe7290918 Signed-off-by: Sébastien Theys (seb) --- odoo/addons/base/models/res_users.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/odoo/addons/base/models/res_users.py b/odoo/addons/base/models/res_users.py index c144a1f1ab3..1886acdd1a2 100644 --- a/odoo/addons/base/models/res_users.py +++ b/odoo/addons/base/models/res_users.py @@ -285,7 +285,7 @@ class Users(models.Model): default_user_id = self.env['ir.model.data']._xmlid_to_res_id('base.default_user', raise_if_not_found=False) return self.env['res.users'].browse(default_user_id).sudo().groups_id if default_user_id else [] - partner_id = fields.Many2one('res.partner', required=True, ondelete='restrict', auto_join=True, + partner_id = fields.Many2one('res.partner', required=True, ondelete='restrict', auto_join=True, index=True, string='Related Partner', help='Partner-related data of the user') login = fields.Char(required=True, help="Used to log into the system") password = fields.Char(