|
|
|
lock timeout exceeded try restarting transaction
|
|||
|---|---|---|---|
|
#18+
проблема аналогичная этой http://www.sql.ru/forum/411150/kak-poborot-lock-wait-timeout-exceeded-try-restarting-transaction только в моём случае - нету никаких сложных транкзанкций. просто хочу удалить одну строку из innodb Код: sql 1. эта команда даже из командлайн утилиты мускла вылетает с ошибкой. В этой таблице сейчас 66млн записей. содержит ссылку на таблицу с милионом записей. есть таблица , содержащая ссылки на заданую, в ней записей 120млн, но нет связаных с удаляемой. тоесть Код: sql 1. КЛЮЧИ есть. PK - bigint autoincrement FK - bigint reference parent_table.PK (field1) unique -binary(20)=field2 unique -binary(20)=field3 + field1 FK - int reference parent_table2.PK (field 4) и того, первичный, плюс два внешних ключа, плюс два уникальных (простой, и составной) что подскажете??? Бобик сдох? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2014, 14:24:38 |
|
||
|
lock timeout exceeded try restarting transaction
|
|||
|---|---|---|---|
|
#18+
alex564657498765453, если существенно. parent1 - таблица на милион записей parent 2 - таблица - 10 000 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2014, 14:26:10 |
|
||
|
lock timeout exceeded try restarting transaction
|
|||
|---|---|---|---|
|
#18+
alex564657498765453, совершенно же очевидно, что дело не во внешних ключах и ссылающихся таблицах, а в том какие еще запросы и транзакции активны в этот момент. Посмотрите show processlist; show engine innodb status; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2014, 14:30:24 |
|
||
|
lock timeout exceeded try restarting transaction
|
|||
|---|---|---|---|
|
#18+
netwind, ну я уже максимально полную информацию дал... дело в том что даже после перезапусков проблема оставалась(база на локалхосте. мамой клянусь что после ристарта её, я лишь утилитой захожу и сразу делете пытаюсь сделать) ======= вообщем решил пойти в конфиг мускла и подправить этот локтаймаут настройку, вместо 50 сек поставил 500. странно, но тут же сработало. видимо я действительно нарвался на баг, когда нету уже никаких других процесов, и тем не менее ошибка. а 500 это случайное совпадение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2014, 14:43:33 |
|
||
|
lock timeout exceeded try restarting transaction
|
|||
|---|---|---|---|
|
#18+
alex564657498765453, ну это вы так считаете, что максимально полную. для решения проблем связанных с транзакциями неплохо бы иметь информацию об этих самых транзакциях. А иначе приходится теоретизировать и предполагать какие же они там могли быть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2014, 15:22:04 |
|
||
|
lock timeout exceeded try restarting transaction
|
|||
|---|---|---|---|
|
#18+
netwind, так а я за что- что похоже что баг был. дело в том что я не работал с транкзанкциями. то есть все транкзанкции, это то что база сама делает. кстате при глюке этом, в текущих процесах (information_schema) - небыло ни одного запроса выполняющего, все процесы ждущие (вебсервер на локалхосте использует постоянные подключения к базе - 4 хоста, у каждого подключение одно, плюс консоли - итого 5, так и было 5 штук) так что похоже баг. всмысле какойто лок не снялся со строчки. А учитывая что удалял я последнюю строку в таблице(хранимка делавшее тестовое наполнение была аварийно остановлена, и для последней строки не успела вставить в дочернюю таблицу данные, вот я и хотел её удалить) то вот тот лок что во время работы хранимки возник, он и мешал. стронно что после рестарта сервера проблема оставалась. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2014, 18:07:08 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=38564576&tid=1835202]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
43ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
| others: | 246ms |
| total: | 359ms |

| 0 / 0 |
