From 9426b8ea72bfa4ea7725e5499107e5b283a1a76c Mon Sep 17 00:00:00 2001 From: Frédéric Buclin Date: Mon, 7 Jan 2013 21:11:53 +0100 Subject: Bug 824361: Add an index on (bug_id, work_time) in the longdescs table to improve performance r=dkl a=LpSolit --- Bugzilla/Install/DB.pm | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'Bugzilla/Install') diff --git a/Bugzilla/Install/DB.pm b/Bugzilla/Install/DB.pm index e1a3f3630..cb7276fb9 100644 --- a/Bugzilla/Install/DB.pm +++ b/Bugzilla/Install/DB.pm @@ -705,6 +705,9 @@ sub update_table_definitions { # 2012-12-29 reed@reedloden.com - Bug 785283 _add_password_salt_separator(); + # 2013-01-02 LpSolit@gmail.com - Bug 824361 + _fix_longdescs_indexes(); + ################################################################ # New --TABLE-- changes should go *** A B O V E *** this point # ################################################################ @@ -3734,6 +3737,15 @@ sub _fix_longdescs_primary_key { } } +sub _fix_longdescs_indexes { + my $dbh = Bugzilla->dbh; + my $bug_id_idx = $dbh->bz_index_info('longdescs', 'longdescs_bug_id_idx'); + if ($bug_id_idx && scalar @{$bug_id_idx->{'FIELDS'}} < 2) { + $dbh->bz_drop_index('longdescs', 'longdescs_bug_id_idx'); + $dbh->bz_add_index('longdescs', 'longdescs_bug_id_idx', [qw(bug_id work_time)]); + } +} + sub _fix_dependencies_dupes { my $dbh = Bugzilla->dbh; my $blocked_idx = $dbh->bz_index_info('dependencies', 'dependencies_blocked_idx'); -- cgit v1.2.3-24-g4f1b