[drupal-devel] [task] db_num_rows(db_query()) inefficiency
    moshe weitzman 
    drupal-devel at drupal.org
       
    Wed Aug 10 18:28:34 UTC 2005
    
    
  
Issue status update for 
http://drupal.org/node/28631
Post a follow up: 
http://drupal.org/project/comments/add/28631
 Project:      Drupal
 Version:      4.6.0
 Component:    search.module
 Category:     tasks
 Priority:     minor
 Assigned to:  Anonymous
 Reported by:  Thomas Ilsche
 Updated by:   moshe weitzman
 Status:       patch (code needs review)
those 2 queries are not equivalent. look at the DISTINCT operator.
Furthermore, the COUNT(*) optimization does not apply to multiple table
queries (I think).
db_num_rows() is indeed useful.
moshe weitzman
Previous comments:
------------------------------------------------------------------------
Wed, 10 Aug 2005 18:16:30 +0000 : Thomas Ilsche
Attachment: http://drupal.org/files/issues/search.module.patch.txt (848 bytes)
search.module uses
$count = db_num_rows(db_query("SELECT DISTINCT i.sid, i.type FROM
{search_index} i $join WHERE $conditions", $arguments));
I think using COUNT(i.sid) should provide an increase in effiecency.
Waiting for comments.
BTW there are 5 more occurances of "db_num_rows(db_query(" is there any
reason for that?
    
    
More information about the drupal-devel
mailing list