--- includes/bootstrap.inc.orig	2005-04-08 18:00:17.000000000 -0500
+++ includes/bootstrap.inc	2005-04-09 10:01:11.000000000 -0500
@@ -167,10 +167,16 @@ function variable_get($name, $default) {
 function variable_set($name, $value) {
   global $conf;
 
-  db_query("DELETE FROM {variable} WHERE name = '%s'", $name);
-  db_query("INSERT INTO {variable} (name, value) VALUES ('%s', '%s')", $name, serialize($value));
-  cache_clear_all('variables');
-
+  // be sure our test variable is different than $value
+  $test = $value === FALSE ? TRUE : FALSE;
+  // only query the database if necessary to add/change a value
+  if (variable_get("$name", $test) !== $value) {
+    db_query("UPDATE {variable} SET value = '%s' WHERE name = '%s'", serialize($value), $name);
+    if (!db_affected_rows()) {
+      @db_query("INSERT INTO {variable} (name, value) VALUES ('%s', '%s')", $name, serialize($value));
+    }
+    cache_clear_all('variables');
+  }
   $conf[$name] = $value;
 }
 
