[Koha-bugs] [Bug 19599] New: anonymise_issue_history can be very slow on large systems
bugzilla-daemon at bugs.koha-community.org
bugzilla-daemon at bugs.koha-community.org
Thu Nov 9 12:54:50 CET 2017
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=19599
Bug ID: 19599
Summary: anonymise_issue_history can be very slow on large
systems
Change sponsored?: ---
Product: Koha
Version: master
Hardware: All
OS: All
Status: NEW
Severity: major
Priority: P5 - low
Component: Architecture, internals, and plumbing
Assignee: koha-bugs at lists.koha-community.org
Reporter: nick at bywatersolutions.com
QA Contact: testopia at bugs.koha-community.org
When running anonymise_issue_history we now call it on a set of patrons from
search_patrons_to_anonymise, however, this generates a slow SQL query that can
take hours to run.
UPDATE `old_issues` SET `old_issues`.`borrowernumber` = '9807' WHERE (
`issue_id` IN (
SELECT * FROM (
SELECT `old_issues`.`issue_id` FROM (
SELECT `me`.`borrowernumber`, `me`.`cardnumber`, `me`.`surname`,
`me`.`firstname`, `me`.`title`, `me`.`othernames`, `me`.`initials`,
`me`.`streetnumber`, `me`.`streettype`, `me`.`address`, `me`.`address2`,
`me`.`city`, `me`.`state`, `me`.`zipcode`, `me`.`country`, `me`.`email`,
`me`.`phone`, `me`.`mobile`, `me`.`fax`, `me`.`emailpro`, `me`.`phonepro`,
`me`.`B_streetnumber`, `me`.`B_streettype`, `me`.`B_address`,
`me`.`B_address2`, `me`.`B_city`, `me`.`B_state`, `me`.`B_zipcode`,
`me`.`B_country`, `me`.`B_email`, `me`.`B_phone`, `me`.`dateofbirth`,
`me`.`branchcode`, `me`.`categorycode`, `me`.`dateenrolled`, `me`.`dateexpiry`,
`me`.`gonenoaddress`, `me`.`lost`, `me`.`debarred`, `me`.`debarredcomment`,
`me`.`contactname`, `me`.`contactfirstname`, `me`.`contacttitle`,
`me`.`guarantorid`, `me`.`borrowernotes`, `me`.`relationship`, `me`.`sex`,
`me`.`password`, `me`.`flags`, `me`.`userid`, `me`.`opacnote`,
`me`.`contactnote`, `me`.`sort1`, `me`.`sort2`, `me`.`altcontactfirstname`,
`me`.`altcontactsurname`, `me`.`altcontactaddress1`, `me`.`altcontactaddress2`,
`me`.`altcontactaddress3`, `me`.`altcontactstate`, `me`.`altcontactzipcode`,
`me`.`altcontactcountry`, `me`.`altcontactphone`, `me`.`smsalertnumber`,
`me`.`sms_provider_id`, `me`.`privacy`, `me`.`privacy_guarantor_checkouts`,
`me`.`checkprevcheckout`, `me`.`updated_on`, `me`.`lastseen`, `me`.`lang`,
`me`.`login_attempts`, `me`.`overdrive_auth_token`
FROM `borrowers` `me`
LEFT JOIN `old_issues` `old_issues` ON
`old_issues`.`borrowernumber` = `me`.`borrowernumber`
WHERE ( ( `old_issues`.`borrowernumber` IS NOT NULL AND `privacy`
<> '0' AND `returndate` < '2017-05-13 00:00:00' ) )
GROUP BY `borrowernumber`) `me`
JOIN `old_issues` `old_issues` ON `old_issues`.`borrowernumber` =
`me`.`borrowernumber`
WHERE ( `returndate` < '2017-05-13 00:00:00' ) )
`_forced_double_subquery` )
)
I think anonymise_issue_history should be a standalone function taking the same
params as search_patrons_to_anonymise to eliminate nesting of queries
--
You are receiving this mail because:
You are the assignee for the bug.
You are watching all bug changes.
More information about the Koha-bugs
mailing list