Гость
Форумы / MySQL [игнор отключен] [закрыт для гостей] / deadlock on delete / 9 сообщений из 9, страница 1 из 1
20.08.2020, 09:54
    #39991045
zizi_top
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
deadlock on delete
периодически получаю такую ошибку
автор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
20.08.2020, 09:59
    #39991046
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
deadlock on delete
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
20.08.2020, 10:35
    #39991056
zizi_top
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
deadlock on delete
неужели условие WHERE IN намного хуже чем JOIN?
...
Рейтинг: 0 / 0
20.08.2020, 15:36
    #39991147
hck2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
deadlock on delete
для начала покажи что выдает
SHOW ENGINE INNODB STATUS;

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

движок то какой?
MyIsam
InnoDB
...
Большая разница
и т.д тп
...
Рейтинг: 0 / 0
20.08.2020, 18:15
    #39991196
zizi_top
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
deadlock on delete
InnoDB
...
Рейтинг: 0 / 0
20.08.2020, 20:30
    #39991224
zizi_top
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
deadlock on delete
переписал удаление через 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
20.08.2020, 22:13
    #39991254
zizi_top
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
deadlock on delete
в таблице user 500 колонок
это может как то влиять?
...
Рейтинг: 0 / 0
20.08.2020, 23:07
    #39991256
hck2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
deadlock on delete
показывай SHOW ENGINE INNODB STATUS;
выясняй, что с чем у тебя сталкивается.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / deadlock on delete / 9 сообщений из 9, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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