@AndTheEnd

Как обработать большой запрос к mysql?

Добрый день. Подскажите, пожалуйста, мне нужно обработать большой объем данных в одной из таблиц базы данных mysql
Запрос имеет вид
DELETE FROM 'table_name' WHERE ID IN(и тут, через запятую, 50 000 айдишников)
Соответственно PhpMyAdmin не съест этот запрос
Putty зависает
Писать PHP - скрипт? Будет ошибка время выполнения скрипта.
Что надо делать в таких случаях, подскажите.
Спасибо.
  • Вопрос задан
  • 241 просмотр
Пригласить эксперта
Ответы на вопрос 6
hOtRush
@hOtRush
Через консольный клиент или скрипт. Можете разбить 50к на пачки по Nк и выполнить через терминал.
Ответ написан
@Fixid
Не запускать такой большой запрос. Или дробить на более мелкие. Или дождитесь завершения запроса.
Ответ написан
laskevych
@laskevych
Попробуйте сохранить Ваш запрос в файле формата .sql (например query.sql) и в PhpMyAdmin выполните импорт.
Ответ написан
@Programmer_codering
Писать PHP - скрипт? Будет ошибка время выполнения скрипта.

php_value max_execution_time 100 - попробуйте прописать это в .htaccess и поставить времени побольше, столько сколько надо на обработку.
Ответ написан
@Toopie
мамааааааааааааааааааааа
Не, я конечно не хочу показаться как-бы банальным...Но если надо удалить всю таблицу, то просто напишите в SQL-консоли:
truncate `table_name`;
Ответ написан
@AUser0
Чем больше знаю, тем лучше понимаю, как мало знаю.
DELETE FROM 'table_name' WHERE ID IN(500 айдишников);
DELETE FROM 'table_name' WHERE ID IN(следующие 500 айдишников);
DELETE FROM 'table_name' WHERE ID IN(и ещё 500 айдишников);
...Да! да! так! ещё! ещё! продолжай, не останавливайся!!....
Ооо, йес, все 50 000!!!
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы