[open-ils-commits] r17236 - in trunk/Open-ILS/src/sql/Pg: . upgrade (dbs)

svn at svn.open-ils.org svn at svn.open-ils.org
Tue Aug 17 22:09:19 EDT 2010


Author: dbs
Date: 2010-08-17 22:09:17 -0400 (Tue, 17 Aug 2010)
New Revision: 17236

Added:
   trunk/Open-ILS/src/sql/Pg/upgrade/0374.schema.vandelay_indices.sql
Modified:
   trunk/Open-ILS/src/sql/Pg/002.schema.config.sql
   trunk/Open-ILS/src/sql/Pg/012.schema.vandelay.sql
Log:
Create indexes on some Vandelay tables to speed up retrieval and delete operations


Modified: trunk/Open-ILS/src/sql/Pg/002.schema.config.sql
===================================================================
--- trunk/Open-ILS/src/sql/Pg/002.schema.config.sql	2010-08-17 22:30:43 UTC (rev 17235)
+++ trunk/Open-ILS/src/sql/Pg/002.schema.config.sql	2010-08-18 02:09:17 UTC (rev 17236)
@@ -68,7 +68,7 @@
     install_date    TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT NOW()
 );
 
-INSERT INTO config.upgrade_log (version) VALUES ('0373'); -- phasefx
+INSERT INTO config.upgrade_log (version) VALUES ('0374'); -- dbs
 
 CREATE TABLE config.bib_source (
 	id		SERIAL	PRIMARY KEY,

Modified: trunk/Open-ILS/src/sql/Pg/012.schema.vandelay.sql
===================================================================
--- trunk/Open-ILS/src/sql/Pg/012.schema.vandelay.sql	2010-08-17 22:30:43 UTC (rev 17235)
+++ trunk/Open-ILS/src/sql/Pg/012.schema.vandelay.sql	2010-08-18 02:09:17 UTC (rev 17236)
@@ -80,6 +80,7 @@
 	imported_as	INT		REFERENCES biblio.record_entry (id) DEFERRABLE INITIALLY DEFERRED
 ) INHERITS (vandelay.queued_record);
 ALTER TABLE vandelay.queued_bib_record ADD PRIMARY KEY (id);
+CREATE INDEX queued_bib_record_queue_idx ON vandelay.queued_bib_record (queue);
 
 CREATE TABLE vandelay.queued_bib_record_attr (
 	id			BIGSERIAL	PRIMARY KEY,
@@ -87,6 +88,7 @@
 	field		INT			NOT NULL REFERENCES vandelay.bib_attr_definition (id) DEFERRABLE INITIALLY DEFERRED,
 	attr_value	TEXT		NOT NULL
 );
+CREATE INDEX queued_bib_record_attr_record_idx ON vandelay.queued_bib_record_attr (record);
 
 CREATE TABLE vandelay.bib_match (
 	id				BIGSERIAL	PRIMARY KEY,
@@ -1181,6 +1183,7 @@
 	imported_as	INT	REFERENCES authority.record_entry (id) DEFERRABLE INITIALLY DEFERRED
 ) INHERITS (vandelay.queued_record);
 ALTER TABLE vandelay.queued_authority_record ADD PRIMARY KEY (id);
+CREATE INDEX queued_authority_record_queue_idx ON vandelay.queued_authority_record (queue);
 
 CREATE TABLE vandelay.queued_authority_record_attr (
 	id			BIGSERIAL	PRIMARY KEY,
@@ -1188,6 +1191,7 @@
 	field		INT			NOT NULL REFERENCES vandelay.authority_attr_definition (id) DEFERRABLE INITIALLY DEFERRED,
 	attr_value	TEXT		NOT NULL
 );
+CREATE INDEX queued_authority_record_attr_record_idx ON vandelay.queued_authority_record_attr (record);
 
 CREATE TABLE vandelay.authority_match (
 	id				BIGSERIAL	PRIMARY KEY,

Added: trunk/Open-ILS/src/sql/Pg/upgrade/0374.schema.vandelay_indices.sql
===================================================================
--- trunk/Open-ILS/src/sql/Pg/upgrade/0374.schema.vandelay_indices.sql	                        (rev 0)
+++ trunk/Open-ILS/src/sql/Pg/upgrade/0374.schema.vandelay_indices.sql	2010-08-18 02:09:17 UTC (rev 17236)
@@ -0,0 +1,14 @@
+-- No transaction is required
+INSERT INTO config.upgrade_log (version) VALUES ('0374'); -- dbs
+
+-- Triggers on the vandelay.queued_*_record tables delete entries from
+-- the associated vandelay.queued_*_record_attr tables based on the record's
+-- ID; create an index on that column to avoid sequential scans for each
+-- queued record that is deleted
+CREATE INDEX queued_bib_record_attr_record_idx ON vandelay.queued_bib_record_attr (record);
+CREATE INDEX queued_authority_record_attr_record_idx ON vandelay.queued_authority_record_attr (record);
+
+-- Avoid sequential scans for queue retrieval operations by providing an
+-- index on the queue column
+CREATE INDEX queued_bib_record_queue_idx ON vandelay.queued_bib_record (queue);
+CREATE INDEX queued_authority_record_queue_idx ON vandelay.queued_authority_record (queue);



More information about the open-ils-commits mailing list