LP#1380709 acq.lineitem_detail.fund_debit INDEX
authorBill Erickson <berickxx@gmail.com>
Thu, 11 Dec 2014 19:17:09 +0000 (14:17 -0500)
committerKathy Lussier <klussier@masslnc.org>
Thu, 18 Feb 2016 16:47:32 +0000 (11:47 -0500)
Use of the new fund_debit.invoice_entry column includes a query joining
fund_debits to lineitem_details.  On sufficiently large data sets
(tested on 2M rows), the query can take > 1 second without the index.
Down to < 1ms with the index.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jennifer Pringle <jennifer.pringle@bc.libraries.coop>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Open-ILS/src/sql/Pg/200.schema.acq.sql
Open-ILS/src/sql/Pg/upgrade/XXXX.schema.fund_debit_invoice_links.sql

index 3df7e85..309e80f 100644 (file)
@@ -541,6 +541,7 @@ CREATE TABLE acq.lineitem_detail (
 );
 
 CREATE INDEX li_detail_li_idx ON acq.lineitem_detail (lineitem);
+CREATE INDEX lineitem_detail_fund_debit_idx ON acq.lineitem_detail (fund_debit);
 
 CREATE TABLE acq.lineitem_attr_definition (
        id              BIGSERIAL       PRIMARY KEY,
index 7575ef9..48560e4 100644 (file)
@@ -8,5 +8,6 @@ ALTER TABLE acq.fund_debit
         ON DELETE SET NULL;
 
 CREATE INDEX fund_debit_invoice_entry_idx ON acq.fund_debit (invoice_entry);
+CREATE INDEX lineitem_detail_fund_debit_idx ON acq.lineitem_detail (fund_debit);
 
 COMMIT;