Mysql

我是否正確清除查詢記憶體?

  • May 16, 2018

我正在嘗試優化查詢,但出於明顯的原因需要確保正確清除查詢記憶體,但它似乎不起作用。

我第一次執行查詢大約需要3.5秒,所有其他時間大約需要0.25秒;但是我對其進行了一些更改,現在想在不依賴記憶體的情況下再次對其進行測試。

我跑了:

RESET QUERY CACHE;

…然後重新執行查詢,但它似乎沒有太大影響,因為我在第**一次執行時的執行時間約為0.35秒,在任何其他執行中再次約為0.25秒。

有沒有其他方法可以做到這一點,或者你認為第一次執行是一個異常值?

要繞過查詢記憶體,您需要將您的更改SELECTSELECT SQL_NO_CACHE.

這將允許您正確地對查詢性能進行基準測試。

請注意,這不會影響InnoDB 緩衝池。是否填充池也會影響性能。

一個好的經驗法則是執行一個查詢(使用SQL_NO_CACHE),丟棄結果,然後再執行 3 次查詢,以了解查詢填充緩衝池的速度有多快。

引用自:https://dba.stackexchange.com/questions/206949