我最近看到一些非常基本的更新超时,但无法确定原因。一个例子:
//# Query_time: 51 Lock_time: 0 Rows_sent: 0 Rows_examined: 0
UPDATE photos SET position = position + 1 WHERE (photo_album_id = 40470);
同一个日志没有 Lock_time > 0 的条目。运行show innodb status也不会显示任何相关的锁。根据我的应用服务器日志(显示Mysql::Error: Lock wait timeout exceeded与 mysql-slow 日志中的每个相应条目相关的错误),此问题似乎影响了至少 5 个不同的表。
知道从这里去哪里吗?我在各个方向都陷入了死胡同。谢谢。
编辑:
创建表`照片`( `id` int(11) NOT NULL auto_increment, `type` varchar(255) 非空, `photo_album_id` int(11) 非空, `user_id` int(11) 非空, `title` varchar(255) 默认为“无标题”, `描述`文本, `credit` varchar(255) 默认为 NULL, `photo_file_name` varchar(255) 默认为 NULL, `photo_content_type` varchar(255) 默认为 NULL, `photo_file_size` int(11) 默认为 NULL, `photo_updated_at` 日期时间默认为 …