Skip to Content
Меню
Вам необхідно зареєструватися, щоб взаємодіяти зі спільнотою.
Це запитання позначене
1 Відповісти
7444 Переглядів

For a module I am writing, a new model based on a SQL view performs poorly unless I add some indices to the account_invoice, account_move_line and account_voucher tables in PostgreSQL.

What is the best way for my module to add these same indices?

I know how to do this via overriding _auto_init and using _execute_sql.

Is there another way? A better way?

Аватар
Відмінити

Can you tell us more about your Model and the SQL View? Is the reason of the question only about postgres performance issue ?

The module is at http://bazaar.launchpad.net/~rcarnes/openerp-shared/7.0/files/head:/beta/partner_account_history/ - without indices on the fields that are used to join and filter the tables in the query, the view take many seconds to return in list view. As soon as I create the indices, the view performs acceptably. The question is generic however - what is the best way to create indices that are needed for a module?

Найкраща відповідь

Hi Ray,

I have used another way for creating indices on the columns which I want into particular model.

I have just inherit that columns of a particular model and put the "select=True" into column defination like below.

For Ex.

'product_id':fields.many2one('product.product', 'Product', select=True),

System will automatically made an index on the product_id column of inherited model.

Аватар
Відмінити
Related Posts Відповіді Переглядів Дія
4
лист. 16
3016
3
бер. 15
6441
2
бер. 15
5298
1
черв. 23
8190
18
серп. 18
19984