Add index on logging.log_user_text
Fixing bug #54404 requires querying against logging.log_user_text, which is currently unindexed. Add an index, to prevent performance from being adversely affected by the fix. Bug: 54432 Change-Id: I6b2af65c75bbee57377cb1ec2e75ea41a5091f80
This commit is contained in:
parent
0fba444861
commit
65a304c444
12 changed files with 28 additions and 0 deletions
|
|
@ -246,6 +246,8 @@ class MysqlUpdater extends DatabaseUpdater {
|
|||
|
||||
// 1.23
|
||||
array( 'addField', 'recentchanges', 'rc_source', 'patch-rc_source.sql' ),
|
||||
array( 'addIndex', 'logging', 'log_user_text_type_time', 'patch-log_user_text_type_time_index.sql' ),
|
||||
array( 'addIndex', 'logging', 'log_user_text_time', 'patch-log_user_text_time_index.sql' ),
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -93,6 +93,10 @@ class OracleUpdater extends DatabaseUpdater {
|
|||
array( 'modifyField', 'user_former_groups', 'ufg_group',
|
||||
'patch-ufg_group-length-increase-255.sql' ),
|
||||
|
||||
//1.23
|
||||
array( 'addIndex', 'logging', 'i06', 'patch-logging_user_text_type_time_index.sql' ),
|
||||
array( 'addIndex', 'logging', 'i07', 'patch-logging_user_text_time_index.sql' ),
|
||||
|
||||
// KEEP THIS AT THE BOTTOM!!
|
||||
array( 'doRebuildDuplicateFunction' ),
|
||||
|
||||
|
|
|
|||
|
|
@ -259,6 +259,8 @@ class PostgresUpdater extends DatabaseUpdater {
|
|||
array( 'addPgIndex', 'job', 'job_cmd_token', '(job_cmd, job_token, job_random)' ),
|
||||
array( 'addPgIndex', 'job', 'job_cmd_token_id', '(job_cmd, job_token, job_id)' ),
|
||||
array( 'addPgIndex', 'filearchive', 'fa_sha1', '(fa_sha1)' ),
|
||||
array( 'addPgIndex', 'logging', 'logging_user_text_type_time', '(log_user_text, log_type, log_timestamp)' ),
|
||||
array( 'addPgIndex', 'logging', 'logging_user_text_time', '(log_user_text, log_timestamp)' ),
|
||||
|
||||
array( 'checkIndex', 'pagelink_unique', array(
|
||||
array( 'pl_from', 'int4_ops', 'btree', 0 ),
|
||||
|
|
|
|||
|
|
@ -123,6 +123,8 @@ class SqliteUpdater extends DatabaseUpdater {
|
|||
|
||||
// 1.23
|
||||
array( 'addField', 'recentchanges', 'rc_source', 'patch-rc_source.sql' ),
|
||||
array( 'addIndex', 'logging', 'log_user_text_type_time', 'patch-logging_user_text_type_time_index.sql' ),
|
||||
array( 'addIndex', 'logging', 'log_user_text_time', 'patch-logging_user_text_time_index.sql' ),
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1 @@
|
|||
CREATE INDEX /*i*/log_user_text_time ON /*_*/logging (log_user_text, log_timestamp);
|
||||
|
|
@ -0,0 +1 @@
|
|||
CREATE INDEX /*i*/log_user_text_type_time ON /*_*/logging (log_user_text, log_type, log_timestamp);
|
||||
|
|
@ -619,6 +619,8 @@ CREATE INDEX /*$wgDBprefix*/page_time ON /*$wgDBprefix*/logging (log_namespace,
|
|||
CREATE INDEX /*$wgDBprefix*/times ON /*$wgDBprefix*/logging (log_timestamp);
|
||||
CREATE INDEX /*$wgDBprefix*/log_user_type_time ON /*$wgDBprefix*/logging (log_user, log_type, log_timestamp);
|
||||
CREATE INDEX /*$wgDBprefix*/log_page_id_time ON /*$wgDBprefix*/logging (log_page,log_timestamp);
|
||||
CREATE INDEX /*$wgDBprefix*/log_user_text_type_time ON /*$wgDBprefix*/logging (log_user_text, log_type, log_timestamp);
|
||||
CREATE INDEX /*$wgDBprefix*/log_user_text_time ON /*$wgDBprefix*/logging (log_user_text, log_timestamp);
|
||||
|
||||
CREATE TABLE /*$wgDBprefix*/log_search (
|
||||
-- The type of ID (rev ID, log ID, rev timestamp, username)
|
||||
|
|
|
|||
|
|
@ -0,0 +1,4 @@
|
|||
define mw_prefix='{$wgDBprefix}';
|
||||
|
||||
CREATE INDEX &mw_prefix.logging_i07 ON &mw_prefix.logging (log_user_text, log_timestamp);
|
||||
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
define mw_prefix='{$wgDBprefix}';
|
||||
|
||||
CREATE INDEX &mw_prefix.logging_i06 ON &mw_prefix.logging (log_user_text, log_type, log_timestamp);
|
||||
|
||||
|
|
@ -509,6 +509,8 @@ CREATE INDEX &mw_prefix.logging_i02 ON &mw_prefix.logging (log_user, log_timesta
|
|||
CREATE INDEX &mw_prefix.logging_i03 ON &mw_prefix.logging (log_namespace, log_title, log_timestamp);
|
||||
CREATE INDEX &mw_prefix.logging_i04 ON &mw_prefix.logging (log_timestamp);
|
||||
CREATE INDEX &mw_prefix.logging_i05 ON &mw_prefix.logging (log_type, log_action, log_timestamp);
|
||||
CREATE INDEX &mw_prefix.logging_i06 ON &mw_prefix.logging (log_user_text, log_type, log_timestamp);
|
||||
CREATE INDEX &mw_prefix.logging_i07 ON &mw_prefix.logging (log_user_text, log_timestamp);
|
||||
|
||||
CREATE TABLE &mw_prefix.log_search (
|
||||
ls_field VARCHAR2(32) NOT NULL,
|
||||
|
|
|
|||
|
|
@ -510,6 +510,8 @@ CREATE INDEX logging_page_time ON logging (log_namespace, log_title, log_timesta
|
|||
CREATE INDEX logging_times ON logging (log_timestamp);
|
||||
CREATE INDEX logging_user_type_time ON logging (log_user, log_type, log_timestamp);
|
||||
CREATE INDEX logging_page_id_time ON logging (log_page, log_timestamp);
|
||||
CREATE INDEX logging_user_text_type_time ON logging (log_user_text, log_type, log_timestamp);
|
||||
CREATE INDEX logging_user_text_time ON logging (log_user_text, log_timestamp);
|
||||
|
||||
CREATE TABLE log_search (
|
||||
ls_field TEXT NOT NULL,
|
||||
|
|
|
|||
|
|
@ -1263,6 +1263,8 @@ CREATE INDEX /*i*/times ON /*_*/logging (log_timestamp);
|
|||
CREATE INDEX /*i*/log_user_type_time ON /*_*/logging (log_user, log_type, log_timestamp);
|
||||
CREATE INDEX /*i*/log_page_id_time ON /*_*/logging (log_page,log_timestamp);
|
||||
CREATE INDEX /*i*/type_action ON /*_*/logging (log_type, log_action, log_timestamp);
|
||||
CREATE INDEX /*i*/log_user_text_type_time ON /*_*/logging (log_user_text, log_type, log_timestamp);
|
||||
CREATE INDEX /*i*/log_user_text_time ON /*_*/logging (log_user_text, log_timestamp);
|
||||
|
||||
|
||||
CREATE TABLE /*_*/log_search (
|
||||
|
|
|
|||
Loading…
Reference in a new issue