C'est parce que le pilote MySQL JDBC a un useSessionStatus par défaut valeur false . Chaque fois que le pilote doit vérifier le isReadOnly statut de la base de données cible, il enverra un select @@session.tx_read_only au serveur. Définition de useSessionStatus comme true utilisera l'état local de l'objet de connexion.
Le moyen le plus simple de supprimer cette requête consiste à ajouter &useLocalSessionState=true à la chaîne de connexion JDBC.