From 1644708fe8e77d7527e9cfc50fdf2e28c55bf111 Mon Sep 17 00:00:00 2001 From: Christophe Simonis Date: Tue, 12 Aug 2014 18:38:55 +0200 Subject: [PATCH] [IMP] models.py: _auto_init: accelerate row existance check Using `COUNT(1)` on big table can be slow. Use `min(id)` which use pkey index to have a quicker response --- openerp/models.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/openerp/models.py b/openerp/models.py index e8b531a8f64..bbcee1f3890 100644 --- a/openerp/models.py +++ b/openerp/models.py @@ -2474,8 +2474,8 @@ class BaseModel(object): self._create_table(cr) has_rows = False else: - cr.execute('SELECT COUNT(1) FROM "%s"' % (self._table,)) - has_rows = cr.fetchone()[0] + cr.execute('SELECT min(id) FROM "%s"' % (self._table,)) + has_rows = cr.fetchone()[0] is not None cr.commit() if self._parent_store: