sql >> Databasteknik >  >> RDS >> Mysql

Hur stänger man av MySQL-frågecache när man använder SQLAlchemy?

Använd en event hook direkt efter att du har definierat 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öra detta globalt genom att lägga till kroken i Pool klassen själv, men (a) du vill förmodligen ha Pyramid-inställningarna tillgängliga ändå så att du kan bestämma om du vill lägga till kroken eller inte, och (b) det globala tillståndet är dåligt :)




  1. Oracle lagrad procedur med parametrar för IN-sats

  2. MySQL:4 Table har-många-genom Gå med?

  3. Utforska lagringsmotoralternativ för MariaDB

  4. MySQL infoga data med fasta värden och flervalsresultat