sql >> Base de Datos >  >> RDS >> Mysql

¿Cómo desactivar el caché de consultas de MySQL mientras se usa SQLAlchemy?

Usa un gancho de evento inmediatamente después de definir su motor:

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)

Puede hacer esto globalmente agregando el enlace al Pool class en sí, pero (a) probablemente desee que la configuración de Pyramid esté disponible de todos modos para que pueda decidir si agregar o no el gancho, y (b) el estado global es malo :)