Closed
Bug 175425
Opened 22 years ago
Closed 22 years ago
Bug search inefficient for email searches especially on CC and comments
Categories
(Bugzilla :: Query/Bug List, defect)
Tracking
()
RESOLVED
DUPLICATE
of bug 127200
People
(Reporter: bugreport, Assigned: endico)
Details
When a user chooses to search for an email address in CC list or comments, Search.pm takes the single matching email and turns it into (paraphrased) .... SELECT ...otherstuff..... FROM bugs LEFT JOIN cc ON bugs.id = cc.bug_id LEFT JOIN profiles AS map_cc ON cc.who = map_cc.id LEFT JOIN longdescs ON bugs.id = longdescs.bug_id LEFT JOIN profiles AS map_comment ON longdescs.who = map_comment.id LEFT_JOIN profiles AS map_reporter ON bugs.reporter = map_reporter.id ....othestuff... WHERE (map_comment.login_name = 'sameuser@mozilla.org' OR map_cc.login_name = 'sameuser@mozilla.org' OR map_reporter - 'sameuser@mozilla.org') ..otherstuff.. This means that, just for this function, every bug expands to count(cc) * count(comments) rows each of which is joined to a profile 3 times and then matched to the form field 3 times. In the usual case where a moderate list of users match, this can really be done in a manner requiring only 1 row per bug for this function... first look up userids of matched user.. SELECT ...otherstuff..... FROM bugs LEFT JOIN cc ON bugs.id = cc.bug_id AND cc.who IN(useridlist) LEFT JOIN longdescs ON bugs.id = longdescs.bug_id AND logdescs.who IN(useridlist) ...otherstuff... WHERE ((cc.who IS NOT NULL) OR (longdescs.who IS NOT NULL) OR (bugs.reporter IN (useridlist))) .. otherstuff..
Reporter | ||
Comment 1•22 years ago
|
||
Implementation note... In Search.pm. Check the $email1 and $email2 fields for matching email addresses directly from profiles. During the initial processing of hard-coded stuff, load an array with a list of matching userids ONLY if there are a reasonable number of matches (< 50?). In the funcdefs, prior to any "LEFT JOIN profiles" operation, check what is about to be included in the query to see if it can be done with the list already stored.
Reporter | ||
Comment 2•22 years ago
|
||
*** This bug has been marked as a duplicate of 127200 ***
Status: NEW → RESOLVED
Closed: 22 years ago
Resolution: --- → DUPLICATE
Updated•11 years ago
|
QA Contact: matty_is_a_geek → default-qa
You need to log in
before you can comment on or make changes to this bug.
Description
•