From 2b90d7e4b3c0fb3cc878cf814904841cecf0a34c Mon Sep 17 00:00:00 2001 From: Darin Kelkhoff Date: Fri, 15 Dec 2023 18:36:17 -0600 Subject: [PATCH] Update to use mysql optimizations for statements on aurora too... --- .../backend/module/rdbms/actions/RDBMSQueryAction.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/qqq-backend-module-rdbms/src/main/java/com/kingsrook/qqq/backend/module/rdbms/actions/RDBMSQueryAction.java b/qqq-backend-module-rdbms/src/main/java/com/kingsrook/qqq/backend/module/rdbms/actions/RDBMSQueryAction.java index fc5dfa79..73dfc776 100644 --- a/qqq-backend-module-rdbms/src/main/java/com/kingsrook/qqq/backend/module/rdbms/actions/RDBMSQueryAction.java +++ b/qqq-backend-module-rdbms/src/main/java/com/kingsrook/qqq/backend/module/rdbms/actions/RDBMSQueryAction.java @@ -65,6 +65,7 @@ public class RDBMSQueryAction extends AbstractRDBMSAction implements QueryInterf private ActionTimeoutHelper actionTimeoutHelper; + private static boolean loggedMysqlOptimizationsForStatements = false; /******************************************************************************* @@ -345,8 +346,14 @@ public class RDBMSQueryAction extends AbstractRDBMSAction implements QueryInterf { RDBMSBackendMetaData backend = (RDBMSBackendMetaData) queryInput.getBackend(); PreparedStatement statement; - if("mysql".equals(backend.getVendor())) + if("mysql".equals(backend.getVendor()) || "aurora".equals(backend.getName())) { + if(!loggedMysqlOptimizationsForStatements) + { + LOG.info("Using mysql optimizations for statements (TYPE_FORWARD_ONLY, CONCUR_READ_ONLY, FetchSize(MIN_VALUE)"); + loggedMysqlOptimizationsForStatements = true; + } + ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // mysql "optimization", presumably here - from Result Set section of https://dev.mysql.com/doc/connector-j/8.0/en/connector-j-reference-implementation-notes.html // // without this change, we saw ~10 seconds of "wait" time, before results would start to stream out of a large query (e.g., > 1,000,000 rows). //