Přejít na obsah
Menu
You need to be registered to interact with the community.
This question has been flagged
1 Odpovědět
7474 Zobrazení

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
Zrušit

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?

Nejlepší odpověď

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
Zrušit
Related Posts Odpovědi Zobrazení Aktivita
4
lis 16
3071
3
bře 15
6450
2
bře 15
5318
1
čvn 23
8225
18
srp 18
20019