慢简单的UPDATE查询

时间:2013-04-14 21:10:06

标签: mysql sql performance innodb

我对mysql的奇怪行为有疑问。 简单的更新查询,只有主键在表格中的where子句中,有大约3000行,有时需要超过2秒。根据{{​​1}}命令,它会在具有高Context_voluntary值(200+)的“查询结束”阶段停留。

在大多数情况下,它是连接中的第一个查询。

示例查询:

SHOW PROFILE ALL

创建表查询: UPDATE `users` set last_portal_login = NOW() , ip = 1464635301 , browser = "chrome" where uid = 2021

这是InnoDB配置: CREATE TABLE users ( uid int(10) unsigned NOT NULL, login char(50) COLLATE utf8_polish_ci NOT NULL, hide_me tinyint(1) unsigned NOT NULL DEFAULT '0', addon int(10) unsigned NOT NULL DEFAULT '0', protocol float unsigned NOT NULL DEFAULT '0', mode enum('firefox','lite','chrome','opera') COLLATE utf8_polish_ci DEFAULT NULL, browser enum('firefox','chrome','opera','ie','safari') COLLATE utf8_polish_ci DEFAULT NULL, last_login datetime DEFAULT NULL, last_portal_login datetime DEFAULT NULL, ip int(10) unsigned DEFAULT NULL, PRIMARY KEY (uid), UNIQUE KEY login (login) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci$$

users

Mysde版本:5.5.30来自dotdeb.org,连接基于unix socket。

我该怎么做才能解决这个问题?

0 个答案:

没有答案
相关问题