Выполнение команд через mysql_unbuffered_query

Shasoft

Новичок
Нужно выполнить долгую команду (копирование данные из таблицы в таблицу)
У скрипта PHP ограничение в 30 секунд работы.
Поиск дал наводку на функцию mysql_unbuffered_query. Как я понял из описания, она не останавливает работу скрипта, а отправляет команду на SQL сервер и возвращается в скрипт, который после этого успешно завершается без превышения лимита времени выполнения.
Через ajax я буду определять количество строк в таблице-приемнике и как только это количество сравняется с таблицей-источником, значит дело сделано.

Вопрос: есть ли какие-то неучтенные проблемы при этом? Может на MySQL тоже есть какое-то время исполнение команды, при превышении которого команда прекращает выполнение?
 

Redjik

Джедай-мастер
может все же попробовать уложится, обычно люди даже не подозревают о потенциале mysql. (я вот недавно прозрел)
 

Shasoft

Новичок
Уложиться во что? Во время, отведенное на работу команды MySQL?
Пишите точнее.
 

Sergey_Al

Новичок
Может на MySQL тоже есть какое-то время исполнение команды, при превышении которого команда прекращает выполнение?
На хостинге вполне может быть ограничение на время выполнения mysql запроса, по умолчанию таких настроек вроде как нет: http://stackoverflow.com/questions/2137084/setup-mysql-query-timeout
 

Redjik

Джедай-мастер
Уложиться во что? Во время, отведенное на работу команды MySQL?
Пишите точнее.
И php и mysql.

Через ajax я буду определять количество строк в таблице-приемнике и как только это количество сравняется с таблицей-источником, значит дело сделано.
Если это будет работать, значит ты точно намудрил с запросом.
 

Redjik

Джедай-мастер
Shasoft
если у тебя куча запросов через foreach, тогда будет работать,
а если у тебя по уму, одним запросом или через транзакцию, тогда таблица будет заблокирована и твой select будет ооооочень долго ждать своей очереди.
 

Shasoft

Новичок
Ясно. В общем именно так и подумал.
Чтобы не мучиться, сделаю порционное копирование. Так оно по тайм-ауту не отвалится.
 

Фанат

oncle terrible
Команда форума
а зачем вообще понадобилось копировать данные из таблицы в таблицу, да еще и разглядывать результат через веб-интерфейс?
 

Shasoft

Новичок
Для изменения структуры БД.

В "движке" будет накатыватель обновлений. Т.е. ставим движок локально и на хостинг. Локально дорабатываем и обновляем движок на хостинге через админ панель локального сайта. задумка такая.
 
Сверху