Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment désactiver le cache de requête MySQL lors de l'utilisation de SQLAlchemy ?

Utilisez un hook d'événement immédiatement après avoir défini votre moteur :

from sqlalchemy import event

def disable_query_cache(conn, record):
    conn.cursor().execute("SET SESSION query_cache_type = OFF")


# this is probably in your Pyramid setup code
engine = create_engine(...)

if DEBUGGING:
    event.listen(engine, 'connect', disable_query_cache)

Vous pouvez le faire globalement en ajoutant le hook au Pool classe elle-même, mais (a) vous voulez probablement que les paramètres Pyramid soient disponibles de toute façon afin que vous puissiez décider d'ajouter ou non le crochet, et (b) l'état global est mauvais :)