2

我有一个查询:

Update users set Numreviews = 1 where userID = 12345

'numreviews' 和 'userID' 两个字段都有帮助无关 SELECT 查询的索引。

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

这种模式非常一致。

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

4

1 回答 1

0

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

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

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

于 2012-06-28T19:04:52.013 回答