Browse Source

Merge pull request #111 from mdietrichc2c/optimize-last-rec-date

Remove un-optimized "LIMIT 1" from SQL request
pull/101/merge
Pedro M. Baeza 9 years ago
parent
commit
c56b3efb60
  1. 7
      account_financial_report_webkit/account_move_line.py

7
account_financial_report_webkit/account_move_line.py

@ -47,11 +47,14 @@ class AccountMoveLine(orm.Model):
res[line.id] = {'last_rec_date': False}
rec = line.reconcile_id or line.reconcile_partial_id or False
if rec:
# we use cursor in order to gain some perfs
# we use cursor in order to gain some perfs.
# also, important point: LIMIT 1 is not used due to
# performance issues when in conjonction with "OR"
# (one backwards index scan instead of 2 scans and a sort)
cursor.execute('SELECT date from account_move_line'
' WHERE reconcile_id = %s'
' OR reconcile_partial_id = %s'
' ORDER BY date DESC LIMIT 1 ',
' ORDER BY date DESC',
(rec.id, rec.id))
res_set = cursor.fetchone()
if res_set:

Loading…
Cancel
Save