Bugzilla – Attachment 6623 Details for
Bug 7276
member entry Performance improvement
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 7276 : member entry Performance improvement
Bug-7276--member-entry-Performance-improvement.patch (text/plain), 2.53 KB, created by
Chris Cormack
on 2011-12-06 22:03:01 UTC
(
hide
)
Description:
Bug 7276 : member entry Performance improvement
Filename:
MIME Type:
Creator:
Chris Cormack
Created:
2011-12-06 22:03:01 UTC
Size:
2.53 KB
patch
obsolete
>From 642e6859874fd8687f65c504e5188a33c9c7c1fd Mon Sep 17 00:00:00 2001 >From: Henri-Damien LAURENT <henridamien.laurent@biblibre.com> >Date: Tue, 29 Nov 2011 10:57:14 +0100 >Subject: [PATCH] Bug 7276 : member entry Performance improvement >MIME-Version: 1.0 >Content-Type: text/plain; charset=UTF-8 >Content-Transfer-Encoding: 8bit > >Before this patch : 9619 borrowers added in 31 Minutes, After : 68 seconds. >This adds Hashref to table structure in C4::SQLHelper to speed up bulk edits. > >Signed-off-by: Stéphane Delaune <stephane.delaune@biblibre.com> >Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz> >--- > C4/SQLHelper.pm | 39 +++++++++++++++++++++++++++++++++------ > 1 files changed, 33 insertions(+), 6 deletions(-) > >diff --git a/C4/SQLHelper.pm b/C4/SQLHelper.pm >index cf425fd..900e40d 100644 >--- a/C4/SQLHelper.pm >+++ b/C4/SQLHelper.pm >@@ -27,6 +27,22 @@ use C4::Debug; > require Exporter; > use vars qw($VERSION @ISA @EXPORT_OK %EXPORT_TAGS); > >+eval { >+ my $servers = C4::Context->config('memcached_servers'); >+ if ($servers) { >+ require Memoize::Memcached; >+ import Memoize::Memcached qw(memoize_memcached); >+ >+ my $memcached = { >+ servers => [$servers], >+ key_prefix => C4::Context->config('memcached_namespace') || 'koha', >+ }; >+ >+ memoize_memcached( '_get_columns', memcached => $memcached, expire_time => 600000 ); #cache for 10 minutes >+ memoize_memcached( 'GetPrimaryKeys', memcached => $memcached, expire_time => 600000 ); #cache for 10 minutes >+ } >+}; >+ > BEGIN { > # set the version for version checking > $VERSION = 0.5; >@@ -43,6 +59,9 @@ BEGIN { > ); > } > >+my $tablename; >+my $hashref; >+ > =head1 NAME > > C4::SQLHelper - Perl Module containing convenience functions for SQL Handling >@@ -247,16 +266,24 @@ With > =cut > > sub _get_columns($) { >- my ($tablename)=@_; >- my $dbh=C4::Context->dbh; >- my $sth=$dbh->prepare_cached(qq{SHOW COLUMNS FROM $tablename }); >- $sth->execute; >- my $columns= $sth->fetchall_hashref(qw(Field)); >+ my ($tablename) = @_; >+ unless ( exists( $hashref->{$tablename} ) ) { >+ my $dbh = C4::Context->dbh; >+ my $sth = $dbh->prepare_cached(qq{SHOW COLUMNS FROM $tablename }); >+ $sth->execute; >+ my $columns = $sth->fetchall_hashref(qw(Field)); >+ $hashref->{$tablename} = $columns; >+ } >+ return $hashref->{$tablename}; > } > > =head2 _filter_columns > >- _filter_columns($tablename,$research, $filtercolumns) >+=over 4 >+ >+_filter_columns($tablename,$research, $filtercolumns) >+ >+=back > > Given > - a tablename >-- >1.7.5.4
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 7276
:
6453
|
6454
| 6623 |
6624