Bug 11249: Add Db indexes on borrowers names
The borrowers search is by default on columns surname, firstname,
othernames and cardnumber.
(See C4::Members::_express_member_find).
Adding DB indexes will really increase the query speed.
This patch adds DB indexes on surname, firstname, othernames (cardnumber
has already an index).
Those indexes must be defined with a size because columns are mediumtext.
Test plan :
Test with mysql client :
mysql> explain select * from borrowers where surname like 'A%';
+----+-------------+-----------+-------+---------------+-------------+---------+------+------+-------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+-----------+-------+---------------+-------------+---------+------+------+-------------+
| 1 | SIMPLE | borrowers | range | surname_idx | surname_idx | 767 | NULL | 395 | Using where |
+----+-------------+-----------+-------+---------------+-------------+---------+------+------+-------------+
=> key show the index is used
Signed-off-by: Mathieu Saby <mathieu.saby@univ-rennes2.fr>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Works as described, changes from updatedatabase and in kohastructure match.
I think deletedborrowers can be left out, as it's not queried when doing
patron searches. Patron deletes still work as expected.
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 19b5c9b4ce)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
This commit is contained in:
parent
227cb1570f
commit
1864a4d61e
|
|
@ -271,6 +271,9 @@ CREATE TABLE `borrowers` ( -- this table includes information about your patrons
|
|||
KEY `branchcode` (`branchcode`),
|
||||
KEY `userid` (`userid`),
|
||||
KEY `guarantorid` (`guarantorid`),
|
||||
KEY `surname_idx` (`surname`(255)),
|
||||
KEY `firstname_idx` (`firstname`(255)),
|
||||
KEY `othernames_idx` (`othernames`(255)),
|
||||
CONSTRAINT `borrowers_ibfk_1` FOREIGN KEY (`categorycode`) REFERENCES `categories` (`categorycode`),
|
||||
CONSTRAINT `borrowers_ibfk_2` FOREIGN KEY (`branchcode`) REFERENCES `branches` (`branchcode`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
|
|
|||
|
|
@ -7864,6 +7864,18 @@ if ( CheckVersion($DBversion) ) {
|
|||
SetVersion ($DBversion);
|
||||
}
|
||||
|
||||
$DBversion = "3.15.00.XXX";
|
||||
if(CheckVersion($DBversion)) {
|
||||
$dbh->do(q{
|
||||
ALTER TABLE `borrowers`
|
||||
ADD KEY `surname_idx` (`surname`(255)),
|
||||
ADD KEY `firstname_idx` (`firstname`(255)),
|
||||
ADD KEY `othernames_idx` (`othernames`(255))
|
||||
});
|
||||
print "Upgrade to $DBversion done (Bug 11249 - Add db indexes on borrowers names)\n";
|
||||
SetVersion($DBversion);
|
||||
}
|
||||
|
||||
=head1 FUNCTIONS
|
||||
|
||||
=head2 TableExists($table)
|
||||
|
|
|
|||
Loading…
Reference in New Issue