MySQL首先UPDATE查询非常慢,后续UPDATE非常快

时间:2012-06-28 18:58:51

标签: mysql performance

我有一个问题:

Update users set Numreviews = 1 where userID = 12345

两个字段'numreviews'和'userID'都有索引,可以帮助不相关的SELECT查询。

我遇到的问题是运行第一个UPDATE查询。最多可能需要1分钟。当我几秒钟后再运行另一个用户ID时,它通常需要几毫秒。

这种模式非常一致。

任何建议将不胜感激。这是在Windows Server 2008 R2 Datacenter上运行的MySQL 5.1.11上。我已经尝试多次重启IIS并重新启动数据库。

1 个答案:

答案 0 :(得分:0)

也许最初的时间基本上是醒来,连接/握手等等。

看来这可能是由how MySQL uses DNS引起的。该链接更详细地解释了这一点,但基本上当您第一次连接时,首次连接时会进行反向查找。有几种方法可以解决这个问题。最简单的(假设您从应用程序运行它)是为您的应用程序设置池。反正这很好。

您也可以使用--skip-name-resolve启动服务器,或增加HOST_CACHE_SIZE