Hi Charles,
ProxySQL is able to track SET SESSION ISOLATION LEVEL, but it is not able to track SET TRANSACTION ISOLATION LEVEL .
Thus ProxySQL automatically disabled multiplex for SET TRANSACTION ISOLATION LEVEL : in short, the logic of the first 2 rules is already built in inside proxysql.
Rules 3 and 5 : ProxySQL is able to track group_concat_max_len and transaction_isolation , therefore these rules are not needed. Please note that proxysql is tracking these variables: multiplexing is kept enabled, and proxysql will ensure that these variables are correctly set.
Rule 6: wait_timeout is a variable that ProxySQL recognise, but intentionally ignore: at the moment, it makes no sense to enforce wait_timeout on backend connections on a reverse proxy.
Rule 4: it was never needed. GET_LOCK always disables multiplexing , and it never enabled it again.
Of course, before removing these rules from production, try them.
My comment above assumes that the query rules match the majority of the query.
Thanks,
René