He estado viendo algunas actualizaciones muy básicas que se han agotado recientemente y no he podido determinar la causa. Un ejemplo:
// # Query_time: 51 Lock_time: 0 Rows_sent: 0 Rows_examined: 0
UPDATE
photos
SET position = position + 1 WHERE (photo_album_id = 40470);
El mismo registro no tiene entradas con Lock_time> 0. La ejecución show innodb status
tampoco revela ningún bloqueo relacionado. Este problema parece estar afectando al menos a 5 tablas diferentes basadas en los registros de mi servidor de aplicaciones (que muestran un Mysql::Error: Lock wait timeout exceeded
error relacionado con cada entrada correspondiente en el registro mysql-slow).
¿Alguna idea de a dónde ir desde aquí? Estoy llegando a callejones sin salida en todas las direcciones. Gracias.
EDITAR:
CREAR TABLA `fotos` ( `id` int (11) NOT NULL auto_increment, `type` varchar (255) NOT NULL, `photo_album_id` int (11) NOT NULL, `user_id` int (11) NOT NULL, `title` varchar (255) predeterminado 'Sin título', texto de "descripción", `credit` varchar (255) default NULL, `photo_file_name` varchar (255) predeterminado NULL, `photo_content_type` varchar (255) predeterminado NULL, `photo_file_size` int (11) predeterminado NULL, `photo_updated_at` datetime default NULL, `position` int (11) por defecto '0', `views` int (11) predeterminado '0', `folder` varchar (255) predeterminado NULL, `publicado` tinyint (1) predeterminado '0', `updated_at` datetime default NULL, `created_at` datetime default NULL, `updated_at` datetime default NULL, `album_published` tinyint (1) predeterminado '0', `comment_count` int (11) predeterminado '0', `audio_file_name` varchar (255) predeterminado NULL, `audio_content_type` varchar (255) predeterminado NULL, `audio_file_size` int (11) predeterminado NULL, `audio_updated_at` datetime default NULL, `cover` tinyint (1) predeterminado '0', `slug` varchar (255) predeterminado NULL, `comments_count` int (11) predeterminado '0', `delete_from_s3` tinyint (1) predeterminado '0', `batch` int (11) predeterminado NULL, `audio` varchar (255) predeterminado NULL, CLAVE PRIMARIA (`id`), KEY `index_photos_on_album_published` (` album_published`), TECLA `index_photos_on_batch` (` lote`), CLAVE `index_photos_on_comment_count` (` comment_count`), TECLA `index_photos_on_created_at` (` created_at`), TECLA `index_photos_on_delete_from_s3` (` delete_from_s3`), TECLA `index_photos_on_photo_album_id` (` photo_album_id`), CLAVE `index_photos_on_published` (` publicado`), CLAVE `index_photos_on_published_at` (` publishing_at`), KEY `index_photos_on_type` (` type`), CLAVE `index_photos_on_user_id` (` user_id`) ) MOTOR = InnoDB AUTO_INCREMENT = 42830 CHARSET POR DEFECTO = utf8
UPDATE table SET <field>=<field>+1 WHERE <pk_field>=1;
sin embargo, mi mesa es mucho más simple. Al azar, esto causa el mismo error que está recibiendo. Mi versión es: 5.1.39. Hoy paso un tiempo tratando de resolverlo, así que actualizaré si encuentro algo.