我有一個SQL選擇查詢大約需要20秒,我想用mysql緩存來緩存結果,所以我可以很快得到結果。web.py mysql查詢緩存
在my.cnf中進行了一些配置後,我在Linux mysql客戶端控制檯中運行select查詢時成功實現了此功能。
在my.cnf中所添加的行是:
query_cache_size = 268435456
query_cache_type = 1
query_cache_limit = 1048576
但是當我運行從web.py代碼查詢。緩存功能似乎不起作用,也就是說,執行時間不會比以前短。
下面是web.py代碼:
import web
db = web.database(dbn='mysql', db='RLCM', user='guest', pw='guest')
sql = "SELECT xxx from xx"
results = db.query(sql);
我是否需要添加任何參數,使緩存?
我通過在運行查詢之前刪除SET autocommit = 1來解決此問題。現在的代碼是:
import web
db = web.database(dbn='mysql', db='RLCM', user='guest', pw='guest')
sql = "SET autocommit=1;"
db.query(sql);
sql = "SELECT xxx from xx"
results = db.query(sql);
你做了什麼使結果緩存在mysql客戶端控制檯? – xiaowl 2014-12-08 07:00:33
我向my.cnf添加以下行:query_cache_size = 268435456 query_cache_type = 1 query_cache_limit = 1048576 – lzy9059 2014-12-08 07:12:09