首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mysql慢查询sql语句在从mysql提示符执行时不是那么慢

mysql慢查询sql语句在从mysql提示符执行时不是那么慢
EN

Stack Overflow用户
提问于 2012-05-10 00:22:31
回答 1查看 132关注 0票数 1

我已经在我的服务器上启用了mysql slow query来记录超过5秒的查询。当我从mysql>运行相同的查询时,报告超过10秒的查询所用时间不到1秒。为什么会这样呢?

TIA,-peter

EN

回答 1

Stack Overflow用户

发布于 2012-05-10 00:31:02

这可能是由于缓存造成的。

数据库在内存中缓存一些数据,而将大部分数据留在磁盘上。当sql查询获取数据时,将加载该数据,然后将其保存在内存中,以防在不久的将来再次被请求。最终,如果该数据不再被请求,它将被从以后的查询进入缓存的新数据覆盖到缓存中。

在一些系统上,硬盘本身有额外的缓存--从磁盘获取的数据可能由磁盘控制器保存在缓存中。这是因为最近从磁盘获取的数据可能会再次获取。

因此,一旦从查询提示符请求了数据,数据就会被缓存--可能是由磁盘控制器和数据库本身缓存的。

在您的应用程序中,这不太可能发生,因为新用户在不同的时间到来并访问他们自己的数据(这些数据不太可能在他们到达之前被缓存)。

提高数据库速度的最常见方法之一是增加服务器可用的内存量,以便可以缓存更多的数据。

有关更多信息,请阅读MySQL's docs on the MySQL Query Cache中的一些内容

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10520139

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档