当我在mysql
上的大型表上运行查询时,运行需要很长时间。但是当我再次运行相同的查询时,它花费的时间比第一次花费的时间少。
MYSQL
是否将结果集缓存在内存中。我怎么能不这样做呢?
RAM正在快速填满。
query_cache_size为0
操作系统是Windows Server 2012(如果重要的话)。
由于
答案 0 :(得分:0)
可能是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