sql >> Database teknologi >  >> RDS >> Mysql

Hvordan slår man MySQL-forespørgselscache fra, mens du bruger SQLAlchemy?

Brug en event hook umiddelbart efter du har defineret din 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)

Du kan gøre dette globalt ved at tilføje krogen til Pool klasse selv, men (a) du vil sandsynligvis have Pyramid-indstillingerne tilgængelige alligevel, så du kan beslutte, om du vil tilføje krogen eller ej, og (b) den globale tilstand er dårlig :)




  1. Hvordan Coalesce() virker i SQLite

  2. Sådan automatiseres dataindsamling og ikke fryse på 10 %

  3. MySql Triggere for at slette underordnede poster i samme tabel

  4. Vælg dynamiske kolonner i mysql