2013-11-14 103 views
0

我在Mysql慢速查詢日誌中收到一個緩慢的查詢。 Mysql慢速查詢日誌顯示查詢需要超過4秒才能執行。如何測試查詢的實際執行時間?

我在phpmyadmin運行此查詢,它需要3秒鐘。當我再次運行它時,只需要0.0002秒。我想有一個數據庫緩存或什麼的。當我第二次運行它時,執行時間可能不準確。

對於這種情況(執行時間很快),我該如何測試查詢的實際執行時間?

+0

[測量實際MySQL查詢時間]的可能重複(http://stackoverflow.com/questions/11274892/measuring-actual-mysql-query -時間) – Boaz

回答

2

僅用於測試目的,你可以使用SQL_NO_CACHE

SELECT SQL_NO_CACHE * FROM `table` ..... 

其他方式,你可以設置query_cache_type爲0當前會話

SET SESSION query_cache_type=0; 

SQL_NO_CACHE

Query Cache Configuration

1

如果你是談論要防止MySQL緩存結果,您可以使用SQL_NO_CACHE關鍵字。 (例如:SELECT SQL_NO_CACHE * FROM table1

0

在第二次執行之前,您可以稍微修改一下您的查詢。

所以下面兩個查詢被認爲是不同的查詢緩存:如果它包含像CONNECTION_ID一些特殊功能()

SELECT * FROM tbl_name 
Select * from tbl_name 

查詢不能被緩存。可以將此功能添加到您的查詢:

SELECT *,CONNECTION_ID() FROM tbl_name 

How the Query Cache Operates