INSERT DELAYED и Write-after в PHP / MySQL - PullRequest
       2

INSERT DELAYED и Write-after в PHP / MySQL

1 голос
/ 01 декабря 2011

Каков наилучший способ избежать накладных расходов, возникающих при выполнении множества запросов INSERT для ведения журнала в приложении PHP / MySQL? Пока что я сузил решения до:

  1. Использование оператора INSERT DELAYED . У меня есть подозрение, что на самом деле это будет медленнее, учитывая, что будет много записей и мало операций чтения, чтобы поставить их в очередь и объединить их.
  2. Использование модуля кеша, поддерживающего write-behind . Тем не менее, похоже, что нет такого модуля для PHP. Это также обсуждается здесь, хотя ответам уже 3 года и с тех пор появилась новая технология: Как реализовать фоновое / асинхронное кэширование с обратной записью в PHP?

Важно не потерять записи в журнале.

1 Ответ

2 голосов
/ 01 декабря 2011

Используйте механизм archive для таблиц журналов.
Он оптимизирован для рабочей нагрузки по ведению журнала.

http://dev.mysql.com/doc/refman/5.0/en/archive-storage-engine.html

Обратите внимание, что этот движок не поддерживает индексы, которые ускоряют вставки, но замедляют выбор.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...