Passa al contenuto
Menu
È necessario essere registrati per interagire con la community.
La domanda è stata contrassegnata
1 Rispondi
7628 Visualizzazioni

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?

Avatar
Abbandona

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?

Risposta migliore

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.

Avatar
Abbandona
Post correlati Risposte Visualizzazioni Attività
4
nov 16
3209
3
mar 15
6648
2
mar 15
5444
1
giu 23
8511
18
ago 18
20200