Saya telah melihat beberapa pembaruan yang sangat mendasar, waktu habis akhir-akhir ini dan belum dapat menentukan penyebabnya. Sebuah contoh:
// # Query_time: 51 Lock_time: 0 Rows_sent: 0 Rows_examined: 0
UPDATE
photos
SET position = position + 1 WHERE (photo_album_id = 40470);
Log yang sama tidak memiliki entri dengan Lock_time> 0. Menjalankan show innodb status
juga tidak mengungkapkan kunci terkait. Masalah ini tampaknya mempengaruhi setidaknya 5 tabel berbeda berdasarkan log server aplikasi saya (yang menunjukkan Mysql::Error: Lock wait timeout exceeded
kesalahan terkait dengan setiap entri yang sesuai di log mysql-slow).
Ada ide ke mana harus pergi dari sini? Aku memukul jalan buntu ke segala arah. Terima kasih.
EDIT:
BUAT TABEL `foto` ( `id` int (11) BUKAN NULL auto_increment, `type` varchar (255) NOT NULL, `photo_album_id` int (11) TIDAK NULL, `user_id` int (11) TIDAK NULL, `title` varchar (255) default 'Tanpa Judul', teks `deskripsi`, `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, `diterbitkan` tinyint (1) default '0', `publish_at` datetime default NULL, `Created_at` datetime default NULL, `updated_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` sebelumnya default NULL, `cover` tinyint (1) default '0', `slug` varchar (255) default NULL, `comments_count` int (11) default '0', `delete_from_s3` tinyint (1) default '0', `batch` int (11) default NULL, `audio` varchar (255) default NULL, KUNCI UTAMA (`id`), KEY `index_photos_on_album_published` (` album_published`), `Index_photos_on_batch` KUNCI (` batch`), `Index_photos_on_comment_count` KUNCI (` comment_count`), KEY `index_photos_on_created_at` (` Created_at`), `Index_photos_on_delete_from_s3` KUNCI (` delete_from_s3`), `Index_photos_on_photo_album_id` KUNCI (` photo_album_id`), `Index_photos_on_published` KUNCI (` diterbitkan`), `Index_photos_on_published_at` KUNCI (` publish_at`), `Index_photos_on_type` KUNCI (` 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;
Meja saya jauh lebih sederhana. Secara acak ini menyebabkan kesalahan yang sama yang Anda dapatkan. Versi saya adalah: 5.1.39. Saya menghabiskan waktu hari ini untuk mencari tahu sehingga saya akan memperbarui jika saya menemukan sesuatu.