diff --git a/modules/aggregator/aggregator.install b/modules/aggregator/aggregator.install
index d1d43c60842d7110d463216704a78330ad04c960..8a5d1612f24f09187e46060987b3d320d5d026bb 100644
--- a/modules/aggregator/aggregator.install
+++ b/modules/aggregator/aggregator.install
@@ -52,7 +52,8 @@ function aggregator_install() {
         description longtext NOT NULL,
         timestamp int default NULL,
         guid varchar(255),
-        PRIMARY KEY (iid)
+        PRIMARY KEY (iid),
+        KEY fid (fid)
       ) /*!40100 DEFAULT CHARACTER SET UTF8 */ ");
 
       break;
@@ -106,6 +107,7 @@ function aggregator_install() {
         guid varchar(255),
         PRIMARY KEY (iid)
       )");
+      db_query("CREATE INDEX {aggregator_item}_fid_idx ON {aggregator_item} (fid)");
 
       break;
   }
diff --git a/modules/system/system.install b/modules/system/system.install
index 5753fe20549d59c988c8685ebb97ae7fb2e72704..b7fd920dd727ced349254ab5761523109d5634e3 100644
--- a/modules/system/system.install
+++ b/modules/system/system.install
@@ -3076,6 +3076,20 @@ function system_update_1006() {
   return $ret;
 }
 
+function system_update_1007() {
+  $ret = array();
+  switch ($GLOBALS['db_type']) {
+    case 'mysql':
+    case 'mysqli':
+      $ret[] = update_sql("ALTER TABLE {aggregator_item} ADD INDEX (fid)");
+      break;
+    case 'pgsql':
+      $ret[] = update_sql("CREATE INDEX {aggregator_item}_fid_idx ON {aggregator_item} (fid)");
+      break;
+  }
+  return $ret;
+}
+
 /**
  * @} End of "defgroup updates-4.7-to-x.x"
  * The next series of updates should start at 2000.