• Страница 1 из 1
  • 1
Архив - только для чтения
Модератор форума: andycrowz  
Зачистка "character_achievement_progress" 270м записей ОМГ..
Desed
Командир
В общем нид выполнить
DELETE FROM `character_achievement_progress` where guid IN
(27,
37,

А за ним гдетооо 219к цифорок...

Трабла в том что "character_achievement_progress" настолько огромная что SELECT COUNT(*) FROM `character_achievement_progress`; (подсчет записей в таблице) выполняет целых мать его 20 минут!
И выдает немного не мало 270 912 381

Кароче никогда с таким объемом не сталкивался. Как мне провести запрос лол?)
Умну mysql тупо не может столько сожрать разом.

Даже если я делю запрос
Цитата
DELETE FROM `character_achievement_progress` where guid IN
(27,
37,

А за ним гдетооо 219к цифорок...


по частям, то он его выполняет хз скок...
Я уже и на часик и на два оставлял, как об стену лол
Сообщение # 1 написано 14.03.2014 в 13:26
Stormtrooper
Командир
а просто убить таблицу и создать заново пустую никак? smile
Если помог, ставь плюсик в репу :)

Сообщение # 2 написано 14.03.2014 в 13:54
Desed
Командир
Stormtrooper, а потом заходиш на форум и дергаеш себе волосы на пятой точке)
Цитата
ПАЧЕМУ АЧИВЫ НЕ РАБОТАЮТ
Сообщение # 3 написано 14.03.2014 в 14:03
Thermaplugg
Database Developer
точнее куда они попали)))
Сообщение # 4 написано 14.03.2014 в 14:07
infinium
Маршал
Stormtrooper, гениальное предложение up
Сообщение # 5 написано 14.03.2014 в 14:32
Stormtrooper
Командир
Я не понял какая связь между ачивами и форумом?
он же пытается вычистить таблицу ачивок командой
ну так зачем мучить сервер заставляя удалять построчно когда можно грохнуть таблицу и пересоздать?
если что-то надо сохранить ну так сделай дамп нужных строк (их же явно меньше чем тех что надо удалить) - потом залей обратно
не вижу проблем
Если помог, ставь плюсик в репу :)

Сообщение # 6 написано 14.03.2014 в 14:33
Desed
Командир
Цитата Dimitro ()
Идея на грани бреда: Насколько я понял, нужно очистить прогресс несуществующих персонажей. Составляется нужный запрос на удаление (вот только без всех этих циферок - общий запрос), вспоминается оператор LIMIT. Далее, модифицируем ядро. Создаем таймер или вешаем на существующий выполнение этого запроса, в конфиг, например, выводим, собственно, лимит. Итого, получаем такой расклад: Сервер работает и, периодически, по чуть-чуть чистит ненужные данные, делать ничего не надо, все сделается само... со временем. Если ставить не очень большой лимит, особых проблем не будет. То же можно провернуть и не модифицируя код ядра. Есть кучу планировщиков задач, тот же крон, например.

Почистил куда проще. Разбил запрос на 46 частей, прошло все это дело за 40 минут.

Осталось 7516776 записей.

Даже както шустрей БД стала работать
Сообщение # 7 написано 14.03.2014 в 16:30
Ranege
Чемпион
Цитата Dimitro ()
Dimitro

Идеи разработчика ядра всегда связаны с кодом эмулятора smile
Сообщение # 8 написано 15.03.2014 в 15:09
Dimitro
Praise the sun!
Цитата Ranege ()
кодом эмулятора

Так то эмулятор должен иметь собственную, удобную и легконастраимаемую систему очисткию
Arcanum Core © Dev.
Для запросов на выдачу наград/снятие замечаний есть темы в Работе Портала. Не пишите по этому поводу в личку.
Сообщение # 9 написано 15.03.2014 в 22:52
  • Страница 1 из 1
  • 1
Поиск: