@@ -, +, @@ LEFT JOIN subscription ON biblio.biblionumber = subscription.biblionumber --- installer/data/mysql/atomicupdate/bug_21288.perl | 9 +++++++++ installer/data/mysql/kohastructure.sql | 1 + 2 files changed, 10 insertions(+) create mode 100644 installer/data/mysql/atomicupdate/bug_21288.perl --- a/installer/data/mysql/atomicupdate/bug_21288.perl +++ a/installer/data/mysql/atomicupdate/bug_21288.perl @@ -0,0 +1,9 @@ +$DBversion = 'XXX'; # will be replaced by the RM +if( CheckVersion( $DBversion ) ) { + $dbh->do(q{ + CREATE INDEX `by_biblionumber` ON `subscription` (`biblionumber`) + }); + + SetVersion( $DBversion ); + print "Upgrade to $DBversion done (Bug 21288: Slowness in acquisition caused by GetInvoices\n"; +} --- a/installer/data/mysql/kohastructure.sql +++ a/installer/data/mysql/kohastructure.sql @@ -2115,6 +2115,7 @@ CREATE TABLE `subscription` ( -- information related to the subscription `itemtype` VARCHAR( 10 ) NULL, `previousitemtype` VARCHAR( 10 ) NULL, PRIMARY KEY (`subscriptionid`), + KEY `by_biblionumber` (`biblionumber`), CONSTRAINT subscription_ibfk_1 FOREIGN KEY (periodicity) REFERENCES subscription_frequencies (id) ON DELETE SET NULL ON UPDATE CASCADE, CONSTRAINT subscription_ibfk_2 FOREIGN KEY (numberpattern) REFERENCES subscription_numberpatterns (id) ON DELETE SET NULL ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; --