https://bugzilla.wikimedia.org/show_bug.cgi?id=39326

       Web browser: ---
             Bug #: 39326
           Summary: Query to get relevant feedback for an article performs
                    poorly
           Product: MediaWiki extensions
           Version: unspecified
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: Unprioritized
         Component: ArticleFeedbackv5
        AssignedTo: [email protected]
        ReportedBy: [email protected]
                CC: [email protected]
    Classification: Unclassified
   Mobile Platform: ---


This query is regularly taking up to 8 seconds on enwiki and will worsen over
time in current form.  The ORDER BY is satisfied by the af_relevance_sort_af_id
index on aft_article_feedback, but that does nothing for any of the WHERE
constraints on that table.  af_page_id would be the most reasonable to include
in an index that can satisfy the ORDER BY.  That should help today but over
time, a large number of rows will still have to be scanned for popular
articles, so this needs a better long term solution.  A search engine would
handle this much better. 

SELECT /* ArticleFeedbackv5Fetch::run */ af_id, af_net_helpfulness,
af_relevance_sort, rating.aa_response_boolean AS yes_no FROM
`aft_article_feedback` LEFT JOIN `aft_article_answer` `rating` ON
((rating.aa_feedback_id = af_id) AND rating.aa_field_id IN ('-1', '1', '16') )
LEFT JOIN `aft_article_answer` `comment` ON ((comment.aa_feedback_id = af_id)
AND comment.aa_field_id IN ('-1', '2', '17') ) WHERE (af_is_deleted IS FALSE)
AND (af_is_hidden IS FALSE) AND ((af_is_featured IS TRUE OR af_has_comment is
true OR af_net_helpfulness > 0) AND af_relevance_score > -5) AND af_page_id =
'5043734' AND (( af_form_id = 1 OR af_form_id = 6 )) ORDER BY af_relevance_sort
ASC, af_id ASC LIMIT 51

-- 
Configure bugmail: https://bugzilla.wikimedia.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
You are on the CC list for the bug.

_______________________________________________
Wikibugs-l mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/wikibugs-l

Reply via email to