[Koha-bugs] [Bug 19884] Improve performance of GetItem

bugzilla-daemon at bugs.koha-community.org bugzilla-daemon at bugs.koha-community.org
Fri Jan 5 17:11:36 CET 2018


https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=19884

--- Comment #40 from David Gustafsson <glasklas at gmail.com> ---
As far as I know the Mysql 'max_allowed_packet' setting is the only concern for
large IN-clauses, 1MB is the default I think (but can be raised if necessary).
1MB is about 1_000_000 characters, it's probably safe to assume that the
average IN-argument doesn't exceed 10 bytes. So as long as itemnumbers for each
batch < 100_000 it's probably fine (and if it's not one can simply raise the
conf-setting). Right now batch size is set to 2000, and with an average number
of items per biblio of around 1.3 there is absolutely no risk of exceeding the
max_allowed_packet limit.

Regarding C4 I did not know that was depricated, but if things are to be moved
into the Koha-namespace, and subroutines in C4 will become methods on the
appropriate objects, it's not very feasable to place the current addition of
pluralized subroutines to Koha:: right now before that refactoring has taken
place. I'm quite confident that the addition of the pluralized subroutines will
not make this future change more difficult. It is only really GetMarcBiblios
that "needs" to be exposed (since it's used in Koha::BiblioUtils, all the
others can be considered private helpers. I understand that adding pluralized
versions is not a insignificant addition to to API, but I have made no
alternations of the current API, and architecturally I think this is the way to
go for opening up several optimization paths for Koha. Drupal for example uses
the very same technique for loading fields for it's "entities" (biblios could
be considered an entity in this context), and without it performance would be
horrible. We have also been working on a hook-system
(https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=19306). Invoking
hooks for each biblio/item etc would probably be quite expensive, but instead
placing those hooks where biblios etc can be loaded in bulk would mean that the
addition of hooks would not degrade performance as much, if at all.

-- 
You are receiving this mail because:
You are watching all bug changes.


More information about the Koha-bugs mailing list