Bug 7886 - C4/ShelfBrowser slow SQL performance
ShelfBrowser uses two SQL queries with syntax
WHERE ((cn_sort = ? AND itemnumber < ?) OR cn_sort < ?)
AND homebranch = ? AND location = ? AND ccode = ?
homebranch already has index, and adding indexes on ccode and location
improves performance by 30% for each query since MySQL is able to use
index_merge intersect(items_ccode,homebranch,items_location)
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
(cherry picked from commit d8e702dd25)
This commit is contained in:
parent
22f8009386
commit
4bc63c0aeb
|
|
@ -4691,6 +4691,14 @@ if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
|
|||
SetVersion($DBversion);
|
||||
}
|
||||
|
||||
$DBversion = "3.07.00.XXX";
|
||||
if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
|
||||
$dbh->do("CREATE INDEX items_location ON items(location)");
|
||||
$dbh->do("CREATE INDEX items_ccode ON items(ccode)");
|
||||
print "Upgrade to $DBversion done (items_location and items_ccode indexes added for ShelfBrowser)";
|
||||
SetVersion($DBversion);
|
||||
}
|
||||
|
||||
=head1 FUNCTIONS
|
||||
|
||||
=head2 DropAllForeignKeys($table)
|
||||
|
|
|
|||
Loading…
Reference in New Issue