Mysql
我是否正確清除查詢記憶體?
我正在嘗試優化查詢,但出於明顯的原因需要確保正確清除查詢記憶體,但它似乎不起作用。
我第一次執行查詢大約需要3.5秒,所有其他時間大約需要0.25秒;但是我對其進行了一些更改,現在想在不依賴記憶體的情況下再次對其進行測試。
我跑了:
RESET QUERY CACHE;
…然後重新執行查詢,但它似乎沒有太大影響,因為我在第**一次執行時的執行時間約為0.35秒,在任何其他執行中再次約為0.25秒。
有沒有其他方法可以做到這一點,或者你認為第一次執行是一個異常值?
要繞過查詢記憶體,您需要將您的更改
SELECT
為SELECT SQL_NO_CACHE
.這將允許您正確地對查詢性能進行基準測試。
請注意,這不會影響InnoDB 緩衝池。是否填充池也會影響性能。
一個好的經驗法則是執行一個查詢(使用
SQL_NO_CACHE
),丟棄結果,然後再執行 3 次查詢,以了解查詢填充緩衝池的速度有多快。