Ich habe in letzter Zeit einige sehr grundlegende Updates gesehen und konnte die Ursache nicht ermitteln. Ein Beispiel:
// # Query_time: 51 Lock_time: 0 Rows_sent: 0 Rows_examined: 0
UPDATE
photos
SET position = position + 1 WHERE (photo_album_id = 40470);
Das gleiche Protokoll enthält keine Einträge mit einer Lock_time> 0. Beim Ausführen werden show innodb status
auch keine zugehörigen Sperren angezeigt . Dieses Problem scheint mindestens 5 verschiedene Tabellen zu betreffen, die auf meinen App-Server-Protokollen basieren (die einen Mysql::Error: Lock wait timeout exceeded
Fehler in Bezug auf jeden entsprechenden Eintrag im mysql-slow-Protokoll anzeigen).
Irgendeine Idee, wohin man von hier aus gehen soll? Ich stoße in alle Richtungen auf Sackgassen. Vielen Dank.
BEARBEITEN:
TABELLE ERSTELLEN `Fotos` ( `id` int (11) NOT NULL auto_increment, `type` varchar (255) NICHT NULL, `photo_album_id` int (11) NICHT NULL, `user_id` int (11) NICHT NULL, `title` varchar (255) default 'Untitled', `Beschreibung` Text, `credit` varchar (255) default NULL, `photo_file_name` varchar (255) default NULL, `photo_content_type` varchar (255) default NULL, `photo_file_size` int (11) default NULL, `photo_updated_at` datetime default NULL, `position` int (11) default '0', `views` int (11) default '0', `folder` varchar (255) default NULL, `veröffentlicht` tinyint (1) default '0', `public_at` datetime default NULL, `created_at` datetime default NULL, `update_at` datetime default NULL, `album_published` tinyint (1) default '0', `comment_count` int (11) default '0', `audio_file_name` varchar (255) default NULL, `audio_content_type` varchar (255) default NULL, `audio_file_size` int (11) default NULL, `audio_updated_at` datetime default NULL, `cover` tinyint (1) default '0', `slug` varchar (255) default NULL, `comment_count` int (11) default '0', `delete_from_s3` tinyint (1) default '0', `batch` int (11) default NULL, `audio` varchar (255) default NULL, Primärschlüssel (`id`), KEY `index_photos_on_album_published` (` album_published`), KEY `index_photos_on_batch` (` batch`), KEY `index_photos_on_comment_count` (` comment_count`), KEY `index_photos_on_created_at` (` created_at`), KEY `index_photos_on_delete_from_s3` (` delete_from_s3`), KEY `index_photos_on_photo_album_id` (` photo_album_id`), SCHLÜSSEL `index_photos_on_published` (` veröffentlicht`), KEY `index_photos_on_published_at` (` publications_at`), KEY `index_photos_on_type` (` type`), KEY `index_photos_on_user_id` (` user_id`) ) ENGINE = InnoDB AUTO_INCREMENT = 42830 DEFAULT CHARSET = utf8
UPDATE table SET <field>=<field>+1 WHERE <pk_field>=1;
Mein Tisch ist allerdings viel einfacher. Zufällig verursacht dies den gleichen Fehler, den Sie erhalten. Meine Version ist: 5.1.39. Ich verbringe heute einige Zeit damit, es herauszufinden, damit ich es aktualisieren kann, wenn ich etwas finde.