From 893efc8ff0efd29ccc8c5e96be0527d31fc5451e Mon Sep 17 00:00:00 2001 From: Brad Jorsch Date: Tue, 25 Feb 2014 10:04:30 -0500 Subject: [PATCH] Remove STRAIGHT_JOIN from ApiQueryLogEvents Per Sean Pringle: > In all cases the STRAIGHT_JOIN forces an index scan on logging.times > index, or more rarely a range access on logging.type_time index. Both > query plans hit tens of millions of rows and take many minutes. > > Removing the STRAIGHT_JOIN allows the MariaDB query optimizer to > choose a plan that takes seconds. Often it includes a filesort step, > but more importantly it allows "index condition pushdown" which makes > the filesort cheap. Bug: 61889 Change-Id: Iad3905f29a2bdee1e3ebbfb2e1909b330faa8e81 --- includes/api/ApiQueryLogEvents.php | 1 - 1 file changed, 1 deletion(-) diff --git a/includes/api/ApiQueryLogEvents.php b/includes/api/ApiQueryLogEvents.php index 1578775a1c..848c6ceb1d 100644 --- a/includes/api/ApiQueryLogEvents.php +++ b/includes/api/ApiQueryLogEvents.php @@ -65,7 +65,6 @@ class ApiQueryLogEvents extends ApiQueryBase { // Order is significant here $this->addTables( array( 'logging', 'user', 'page' ) ); - $this->addOption( 'STRAIGHT_JOIN' ); $this->addJoinConds( array( 'user' => array( 'LEFT JOIN', 'user_id=log_user' ), -- 2.20.1