Задавайте вопросы, мы ответим
Вы не зашли.
Страниц: 1
Получаем следующую ошибку при попытке удалить порядка 8-10 млн записей из таблицы типа InnoDB. В имеющихся переменных не удалось найти подходящую, которая отвечает за эту настройку. Подскажите плз, какая перменная за это отвечает?
ЗЫ Есть вот такая переменная: max_write_lock_count 18446744073709551615, имхо похожа, но циферка смущает
Неактивен
Вы уверены, что это хорошая идея — удалять 8 миллионов строк из InnoDB одной
транзакцией?
Такого параметра, как количество строк в таблице блокировок, в MySQL нет. Эта
таблица выделяется динамически в InnoDB buffer pool. Имеет смысл:
а) использовать LOCK TABLES tablename WRITE явно в том потоке, который
будет удалять строки (чтобы не брать строчные блокировки)
б) удалять кусочками. Например, добавьте LIMIT 500000 и выполните запрос 20
раз — так не нужно будет брать сразу 10 миллионов блокировок
Неактивен
LOCK TABLES низзя, таблица постоянно юзается инсертами
Обычно в удалении присутствовало до 4млн записей и никогда грабли не всплывали. Собссна уже разбил удаление на несколько запросов
Отредактированно Neval (21.02.2011 15:04:07)
Неактивен
Страниц: 1