Spec-Zone .ru
спецификации, руководства, описания, API

13.2.5.2. INSERT DELAYED Синтаксис

INSERT DELAYED ...

DELAYED опция для INSERT оператор является расширением MySQL стандартного SQL, который может использоваться для определенных видов таблиц (такой как MyISAM). Когда клиент использует INSERT DELAYED, это добирается хорошо от сервера сразу, и строка ставится в очередь, чтобы быть вставленной, когда таблица не находится в использовании никаким другим потоком.

Отметить

INSERT DELAYED медленнее чем нормальное INSERT если таблица не находится иначе в использовании. Есть также дополнительные издержки для сервера, чтобы обработать отдельный поток для каждой таблицы, для которой есть задержанные строки. Это означает, что следует использовать INSERT DELAYED только, когда Вы действительно уверены, что нуждаетесь в этом.

С MySQL 5.6.6, INSERT DELAYED осуждается, и будет удален в будущем выпуске. Использовать INSERT (без DELAYED) вместо этого.

Строки с очередями сохранены только в памяти, пока они не вставляются в таблицу. Это означает это, если Вы завершаете mysqld насильственно (например, с kill -9) или если mysqld неожиданно умирает, теряются любые строки с очередями, которые не были записаны диску.

Есть некоторые ограничения на использование DELAYED:

Следующее описывает подробно, что происходит, когда Вы используете DELAYED опция к INSERT или REPLACE. В этом описании "поток" является потоком, который получил INSERT DELAYED оператор и "обработчик" являются потоком, который обрабатывает все INSERT DELAYED операторы для определенной таблицы.