LogPager: Add IGNORE INDEX to avoid MariaDB optimizer bug

This is basically the same thing we fixed for ApiQueryLogEvents in
I16dba2158.

Bug: T223151
Change-Id: I53a7ed59de3eed2b0b4f1b1fb7f6d302b1de276c
This commit is contained in:
Brad Jorsch 2019-09-20 15:38:52 -04:00 committed by Mobrovac
parent 66eb92b458
commit c0ea9c285d

View file

@ -361,6 +361,11 @@ class LogPager extends ReverseChronologicalPager {
if ( !$this->mTagFilter && !array_key_exists( 'ls_field', $this->mConds ) ) {
$options[] = 'STRAIGHT_JOIN';
}
if ( $this->performer !== '' ) {
// T223151: MariaDB's optimizer, at least 10.1, likes to choose a wildly bad plan for
// some reason for this code path. Tell it not to use the wrong index it wants to pick.
$options['IGNORE INDEX'] = [ 'logging' => [ 'times' ] ];
}
$info = [
'tables' => $tables,