MySQL INSERT DELAYED - Как узнать, когда вставки сделаны - PullRequest
4 голосов
/ 22 мая 2011

При использовании операторов MySQL INSERT DELAYED существует ли способ принудительно выполнить все вставки перед продолжением?Или, в качестве альтернативы, узнать, сделаны ли вставки еще?

Ответы [ 2 ]

5 голосов
/ 22 мая 2011

Вы можете узнать, выполнив

SHOW STATUS LIKE 'Not_flushed_delayed_rows'

Для получения дополнительной информации

SHOW STATUS LIKE '%delay%'

Обратите внимание, что INSERT DELAYED имеет несколько проблем, о которых вам необходимо знать, пожалуйста, прочитайтеПервая ссылка ниже для получения дополнительной информации.

FLUSH TABLES

Запустит немедленную вставку задержанных строк.

См .: http://dev.mysql.com/doc/refman/5.5/en/insert-delayed.html
и: http://dev.mysql.com/doc/refman/5.5/en/show-status.html

1 голос
/ 22 мая 2011

Ну, если вам нужно знать, когда они завершены, зачем помечать их как ЗАДЕРЖАННЫЕ?

Кроме того, их использование может быть опасно, например, потому что

Ожидающие операторы INSERT DELAYED потерян, если таблица заблокирована от записи и ALTER TABLE используется для изменения структура таблицы.

Чтобы принудительно выполнить все операторы DELAYED, вызовите FLUSH TABLES.

Ручная ссылка .

...