diff --git a/src/main/java/org/skysql/jdbc/MySQLStatement.java b/src/main/java/org/skysql/jdbc/MySQLStatement.java
index <HASH>..<HASH> 100644
--- a/src/main/java/org/skysql/jdbc/MySQLStatement.java
+++ b/src/main/java/org/skysql/jdbc/MySQLStatement.java
@@ -303,7 +303,12 @@ public class MySQLStatement implements Statement {
         isClosed = true;
         if (queryResult != null) {
             queryResult.close();
+            queryResult = null;
         }
+        // No possible future use for the cached results, so these can be cleared
+        // This makes the cache eligible for garbage collection earlier if the statement is not
+        // immediately garbage collected
+        cachedResultSets.clear();
         if (!isStreaming())
             return;
         synchronized (protocol) {
Null out cached statements early on when a statement is closed. Attempt to reduce memory overhead