? 336358-remove-table-scan-from-ping_cron-D6.patch
Index: modules/ping/ping.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/ping/Attic/ping.module,v
retrieving revision 1.52
diff -u -p -r1.52 ping.module
--- modules/ping/ping.module	19 Dec 2007 17:45:42 -0000	1.52
+++ modules/ping/ping.module	15 Sep 2009 13:22:18 -0000
@@ -28,7 +28,9 @@ function ping_cron() {
   global $base_url;
 
   if (variable_get('site_name', 0)) {
-    if (db_result(db_query("SELECT COUNT(*) FROM {node} WHERE status = 1 AND (created > '". variable_get('cron_last', time()) ."' OR changed > '". variable_get('cron_last', time()) ."')"))) {
+    $cron_last = variable_get('cron_last', time());
+    // Query changed first since usually changed >= created.
+    if (db_result(db_query("SELECT COUNT(*) FROM {node} WHERE status = 1 AND changed > %d", $cron_last)) || db_result(db_query("SELECT COUNT(*) FROM {node} WHERE status = 1 AND created > %d", $cron_last))) {
       _ping_notify(variable_get('site_name', ''), $base_url);
     }
   }
