У меня есть php-скрипт, который выполняет запрос mysql. У меня есть интерфейс HTML/JQuery, который инициирует асинхронный вызов (AJAX) для сценария, запрашивающего его, например. удалите некоторые данные. Я знаю, что мой пул данных очень мал, но если он стал больше, я хотел бы показать, сколько строк было обработано (потому что пока невозможно определить расчетное время, поскольку оно неизвестно до завершения запроса).Информация о ходе выполнения запроса MySQL
Этот вопрос скорее теоретический, чем практический. Есть ли способ узнать, сколько строк было обработано, пока запрос якобы все еще запущен?
Это может быть оператор delete или select.
Мой основной вопрос: Возможно ли, чтобы один php-скрипт выполнял длинный запрос, а другой возвращал статус-кво, пока он все еще работает, когда он вызывается? (например, как-то извлекать затронутые строки для конкретного запроса или что-то еще?)
Для простоты предположим, что у меня есть 2 php-файла, которые я могу вызвать непосредственно из своего браузера - один выполняет запрос, а другой, предположительно, получает его статус. Возможно ли, и если бы кто-то мог указать мне в правильном направлении? Возможно, мне придется использовать какие-то хранимые процедуры, которые, по крайней мере, сообщали бы количество строк, которые были обработаны?
Если вы удаляете строки, которые вы могли бы получить начальный счет, а затем использовать [ 'row_count()'] (http://dev.mysql.com/doc/refman /5.5/en//information-functions.html#function_row-count), чтобы сравнить то, что у вас есть «сейчас», и то, что у вас было раньше. На это может повлиять блокировка строк или таблиц. –
Вам нужно будет создать скрипт, который вы ищете в JQuery; в рамках шагов, которые вы выполните, и получите статус выполнения запроса. – unixmiah
Ну JQuery не выполняет сам mysql-statement ... первый скрипт php запускает запрос, второй проверяет состояние. Да, для удаления строк я мог бы сделать то, что предложил Джей Бланшар.Но есть ли что-то подобное для SELECT-утверждения? affected_rows? или что-то типа того? – Igor