powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / MySQL [игнор отключен] [закрыт для гостей] / deadlock on delete
9 сообщений из 9, страница 1 из 1
deadlock on delete
    #39991045
zizi_top
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
периодически получаю такую ошибку
авторSerialization failure: 1213 Deadlock found when trying to get lock; try restarting transaction
The SQL being executed was:
DELETE FROM push_settings WHERE user_id IN (SELECT id_user FROM user WHERE group='user')

явных транзакций нету
стоят индексы на user_id и group
push_settings до 100 записей
user до 50 к записей
удаление вызывается каждый час

что можно предпринять?
...
Рейтинг: 0 / 0
deadlock on delete
    #39991046
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zizi_top
что можно предпринять?
Переписать [censored] WHERE IN на честный JOIN:

Код: sql
1.
2.
3.
4.
DELETE push_settings.*
FROM push_settings 
JOIN user ON user.id_user = push_settings.user_id 
WHERE user.group='user'
...
Рейтинг: 0 / 0
deadlock on delete
    #39991056
zizi_top
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
неужели условие WHERE IN намного хуже чем JOIN?
...
Рейтинг: 0 / 0
deadlock on delete
    #39991147
hck2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
для начала покажи что выдает
SHOW ENGINE INNODB STATUS;

там будет LATEST DETECTED DEADLOCK, который покажет что с чем сталкивается
но вообще у mysql какая-то мега багофича, пишущие запросы при фуллскане лочат нафиг всю таблицу. естественно это влечет дедлоки между транзакциями, которые вообще ничего общего не имеют.
...
Рейтинг: 0 / 0
deadlock on delete
    #39991188
Фотография Alex_Ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zizi_top,

движок то какой?
MyIsam
InnoDB
...
Большая разница
и т.д тп
...
Рейтинг: 0 / 0
deadlock on delete
    #39991196
zizi_top
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
InnoDB
...
Рейтинг: 0 / 0
deadlock on delete
    #39991224
zizi_top
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
переписал удаление через join но все равно получаю дедлоки
авторSQLSTATE[40001]: Serialization failure: 1213 Deadlock found when trying to get lock; try restarting transaction
The SQL being executed was: DELETE t FROM push_r_settings t JOIN user u ON t.user_id=u.id_user WHERE u.group='user'
...
Рейтинг: 0 / 0
deadlock on delete
    #39991254
zizi_top
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в таблице user 500 колонок
это может как то влиять?
...
Рейтинг: 0 / 0
deadlock on delete
    #39991256
hck2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
показывай SHOW ENGINE INNODB STATUS;
выясняй, что с чем у тебя сталкивается.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / deadlock on delete
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]