我有一個簡單的查詢,通常在0.0002秒內完成。有時(例如,200箇中的1個)查詢需要長達1000倍的時間才能完成。簡單的mysql更新查詢有時很慢
慢查詢日誌:
# Time: 111205 12:21:21
# [email protected]: abc[abc] @ localhost []
# Query_time: 0.120205 Lock_time: 0.000025 Rows_sent: 0 Rows_examined: 1
SET timestamp=1323084081;
UPDATE `users`
SET `online`=NOW(),
lastip='123.123.123.123',
pageviews = pageviews + '1',
onlinetoday = '1'
WHERE `user_name`='Alex'
LIMIT 1;
的user_name
字段建立索引。更新的字段(online
,lastip
,pageviews
和onlinetoday
)不是。使用主密鑰(A_I, int(35)
)代替user_name (varchar(50)
當發生
相同的問題。
該表包含22000行和68個字段,其中5個是索引。
我也有一個具有相同問題的另一個表:
CREATE TABLE `person_values` (
`id` int(255) NOT NULL,
`A1` int(255) NOT NULL DEFAULT '0',
`A2` int(255) NOT NULL DEFAULT '0',
`A3` int(255) NOT NULL DEFAULT '0',
`A4` int(255) NOT NULL DEFAULT '0',
`A5` int(255) NOT NULL DEFAULT '0',
`A6` int(255) NOT NULL DEFAULT '0',
`A7` int(255) NOT NULL DEFAULT '0',
`A8` int(255) NOT NULL DEFAULT '0',
`A9` int(255) NOT NULL DEFAULT '0',
`A10` int(255) NOT NULL DEFAULT '0',
`A11` int(255) NOT NULL DEFAULT '0',
`A12` int(255) NOT NULL DEFAULT '0',
`A13` int(255) NOT NULL DEFAULT '0',
`A14` int(255) NOT NULL DEFAULT '0',
`A15` int(255) NOT NULL DEFAULT '0',
`A16` int(255) NOT NULL DEFAULT '0',
`A17` int(255) NOT NULL DEFAULT '0',
`A18` int(255) NOT NULL DEFAULT '0',
`A19` int(255) NOT NULL DEFAULT '0',
`A20` int(255) NOT NULL DEFAULT '0',
`A21` int(255) NOT NULL DEFAULT '0',
`A22` int(255) NOT NULL DEFAULT '0',
`A23` int(255) NOT NULL DEFAULT '0',
`A24` int(255) NOT NULL DEFAULT '0',
`A25` int(255) NOT NULL DEFAULT '0',
`A26` int(255) NOT NULL DEFAULT '0',
`A27` int(255) NOT NULL DEFAULT '0',
`A28` int(255) NOT NULL DEFAULT '0',
UNIQUE KEY `person` (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8
查詢:
UPDATE `person_values` SET A25 = A25 + 1 WHERE id = '1' LIMIT 1;
表person_values
包含大約28 000行。
MySQL服務器版本:5.1.49-3日誌 MySQL客戶端版本:49年1月5日發行 :Debian的6.0.3
什麼可以引起此問題?
嗨新手,這個信息太少,可能包括商店引擎,版本號,平臺(windows或linux) – ajreal
'int(255)'?當真? – CAFxX