From bfc2e76af29c91493ef99c7fa918324a930271b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Voet=20=28ryv=29?= Date: Mon, 11 Jul 2022 06:12:14 +0000 Subject: [PATCH] [IMP] base: add index on `key` of ir_ui_view The `key` field is often (`_get_view_id`/`_get_specific_views`) used to find an ir_ui_view. Because `key` doesn't have index, PostgreSQL will always do a SeqScan. Because the table is small, it doesn't create a huge performance bottleneck, but it still not very efficient. closes odoo/odoo#97478 Signed-off-by: Julien Castiaux --- odoo/addons/base/models/ir_ui_view.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/odoo/addons/base/models/ir_ui_view.py b/odoo/addons/base/models/ir_ui_view.py index 786e33bf0d8..f300f3b21ae 100644 --- a/odoo/addons/base/models/ir_ui_view.py +++ b/odoo/addons/base/models/ir_ui_view.py @@ -224,7 +224,7 @@ class View(models.Model): name = fields.Char(string='View Name', required=True) model = fields.Char(index=True) - key = fields.Char() + key = fields.Char(index='btree_not_null') priority = fields.Integer(string='Sequence', default=16, required=True) type = fields.Selection([('tree', 'Tree'), ('form', 'Form'),