https://www.mediawiki.org/wiki/Special:Code/MediaWiki/113206

Revision: 113206
Author:   catrope
Date:     2012-03-07 01:03:55 +0000 (Wed, 07 Mar 2012)
Log Message:
-----------
Create a unique index on afi_name, and force an index on the logging query

Modified Paths:
--------------
    trunk/extensions/ArticleFeedbackv5/api/ApiViewActivityArticleFeedbackv5.php
    trunk/extensions/ArticleFeedbackv5/sql/ArticleFeedbackv5.sql

Modified: 
trunk/extensions/ArticleFeedbackv5/api/ApiViewActivityArticleFeedbackv5.php
===================================================================
--- trunk/extensions/ArticleFeedbackv5/api/ApiViewActivityArticleFeedbackv5.php 
2012-03-07 00:37:54 UTC (rev 113205)
+++ trunk/extensions/ArticleFeedbackv5/api/ApiViewActivityArticleFeedbackv5.php 
2012-03-07 01:03:55 UTC (rev 113206)
@@ -266,7 +266,13 @@
                        __METHOD__,
                        array(
                                'LIMIT'    => $limit + 1,
-                               'ORDER BY' => 'log_timestamp DESC'
+                               'ORDER BY' => 'log_timestamp DESC',
+                               // Force the page_time index (on _namespace, 
_title, _timestamp)
+                               // We don't expect many if any rows for 
Special:ArticleFeedbackv5/foo that
+                               // don't match log_type='articlefeedbackv5' , 
so we can afford to have that
+                               // clause be unindexed. The alternative is to 
have the log_type clause be indexed
+                               // and the namespace/title clauses unindexed, 
that would be bad.
+                               'USE INDEX' => 'page_time'
                        )
                );
 

Modified: trunk/extensions/ArticleFeedbackv5/sql/ArticleFeedbackv5.sql
===================================================================
--- trunk/extensions/ArticleFeedbackv5/sql/ArticleFeedbackv5.sql        
2012-03-07 00:37:54 UTC (rev 113205)
+++ trunk/extensions/ArticleFeedbackv5/sql/ArticleFeedbackv5.sql        
2012-03-07 01:03:55 UTC (rev 113206)
@@ -71,7 +71,7 @@
 CREATE INDEX /*i*/article_feedback_timestamp ON /*_*/aft_article_feedback 
(af_created);
 CREATE INDEX /*i*/af_page_id ON /*_*/aft_article_feedback (af_page_id, 
af_created);
 CREATE INDEX /*i*/af_page_feedback_id ON /*_*/aft_article_feedback 
(af_page_id, af_id);
-CREATE INDEX /*_*/af_page_net_helpfulness_af_id ON /*_*/aft_article_feedback 
(af_page_id, af_net_helpfulness, af_id);
+CREATE INDEX /*i*/af_page_net_helpfulness_af_id ON /*_*/aft_article_feedback 
(af_page_id, af_net_helpfulness, af_id);
 
 -- Allows for organizing fields into fieldsets, for reporting or rendering.
 -- A group is just a name and an ID.
@@ -93,6 +93,7 @@
   -- Which 'bucket' this field should be rendered in.
   afi_bucket_id integer unsigned NOT NULL
 ) /*$wgDBTableOptions*/;
+CREATE UNIQUE INDEX /*i*/afi_name ON /*_*/aft_article_field (afi_name);
 
 -- Stores options for multi-value feedback fields (ie, select boxes) 
 CREATE TABLE IF NOT EXISTS /*_*/aft_article_field_option (


_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs

Reply via email to