diff --git a/database/database.mysql b/database/database.mysql
index a7a9ee06181fa059b66d622cf050898cd9a94de0..1508921df74a3e703757498797b2b90f4fa47407 100644
--- a/database/database.mysql
+++ b/database/database.mysql
@@ -482,7 +482,8 @@ CREATE TABLE node_revisions (
   log longtext NOT NULL default '',
   timestamp int(11) NOT NULL default '0',
   format int(4) NOT NULL default '0',
-  PRIMARY KEY  (nid,vid),
+  PRIMARY KEY  (vid),
+  KEY nid (nid),
   KEY uid (uid)
 ) TYPE=MyISAM
 /*!40100 DEFAULT CHARACTER SET utf8 */ ;
diff --git a/database/database.pgsql b/database/database.pgsql
index 839b771c047741574a1f6a3c209b1426b63f5958..a8339394535e8cba34b6598b602a87bb096ac814 100644
--- a/database/database.pgsql
+++ b/database/database.pgsql
@@ -458,8 +458,9 @@ CREATE TABLE node_revisions (
   log text NOT NULL default '',
   timestamp integer NOT NULL default '0',
   format int NOT NULL default '0',
-  PRIMARY KEY  (nid,vid)
+  PRIMARY KEY  (vid)
 );
+CREATE INDEX node_revisions_nid_idx ON node_revisions(nid);
 CREATE INDEX node_revisions_uid_idx ON node_revisions(uid);
 CREATE SEQUENCE node_revisions_vid_seq INCREMENT 1 START 1;
 
diff --git a/database/updates.inc b/database/updates.inc
index 23fbf1ab0cff7e780429eb64633a3de20ce0b5b4..51428d8dbbef8290fe80dfce9a1493f764e1bb0a 100644
--- a/database/updates.inc
+++ b/database/updates.inc
@@ -755,10 +755,11 @@ function system_update_146() {
       log text NOT NULL default '',
       timestamp integer NOT NULL default '0',
       format int NOT NULL default '0',
-      PRIMARY KEY  (nid,vid))");
+      PRIMARY KEY (vid))");
     $ret[] = update_sql("INSERT INTO {node_revisions} (nid, vid, uid, title, body, teaser, timestamp, format)
       SELECT nid, nid AS vid, uid, title, body, teaser, changed AS timestamp, format
       FROM {node}");
+    $ret[] = update_sql('CREATE INDEX {node_revisions}_nid_idx ON {node_revisions}(nid)');
     $ret[] = update_sql('CREATE INDEX {node_revisions}_uid_idx ON {node_revisions}(uid)');
     $vid = db_next_id('{node}_nid');
     $ret[] = update_sql("CREATE SEQUENCE {node_revisions}_vid_seq INCREMENT 1 START $vid");