[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