當我在mysql
上的大型表上運行查詢時,需要很長時間才能運行。但是當我再次運行相同的查詢時,所花費的時間比第一次花費的時間要少。 是MYSQL
將結果集緩存在內存中。我怎麼能讓它不這樣做? RAM快速填滿。正在緩存MySql查詢
query_cache_size變量中的my.ini是0
操作系統是Windows Server 2012中(如果該事項)。
謝謝
當我在mysql
上的大型表上運行查詢時,需要很長時間才能運行。但是當我再次運行相同的查詢時,所花費的時間比第一次花費的時間要少。 是MYSQL
將結果集緩存在內存中。我怎麼能讓它不這樣做? RAM快速填滿。正在緩存MySql查詢
query_cache_size變量中的my.ini是0
操作系統是Windows Server 2012中(如果該事項)。
謝謝
這可能是InnoDB緩衝區緩存的影響。
和InnoDB緩衝器是說明here
越大緩衝池,越InnoDB的作用就像一個內存 數據庫,在隨後的讀出 存儲器從磁盤讀取的數據一次,然後訪問數據。
您可能還需要看看下面的線程:
mysql slow on first query, then fast for related queries
Mysql query run twice is must faster the second time even with SQL_NO_CACHE
http://dev.mysql.com/doc/refman/5.0 /en/query-cache-configuration.html –
http://dev.mysql.com/doc/refman/5.1/en/query-cache.html – KevInSol
@ user602088 my.ini中的query_cache_size爲0.上面仍然是發生 – Ank