Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como desativar o cache de consulta do MySQL ao usar o SQLAlchemy?


Use um gancho de evento imediatamente após definir seu mecanismo:
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)

Você pode fazer isso globalmente adicionando o gancho ao Pool class em si, mas (a) você provavelmente deseja que as configurações da Pyramid estejam disponíveis de qualquer maneira, para que possa decidir se deve ou não adicionar o gancho e (b) o estado global é ruim :)