Использование DELAY_KEY_WRITE в MySQL: я должен использовать это? Есть ли что-то еще, что мне нужно изменить? - PullRequest
3 голосов
/ 18 марта 2009

У меня есть таблица журналов, в которой хранятся идентификатор пользователя, дата / время, имя таблицы, идентификатор записи, тип запроса (вставка, обновление, удаление и т. Д.) И полный SQL, который был запущен. На этой таблице есть пара ключей, но их не нужно обновлять сразу. Обычно таблица используется для проверки проблем (кто-то допустил ошибку или произошла системная ошибка) или чтобы люди могли просматривать изменения, сделанные людьми. Но обычно это делается не сразу после сохранения или только один раз в неделю или один раз в день.

Было бы полезно включить DELAY_KEY_WRITE на столе, как это?

Есть ли что-то еще, что мне нужно включить на MySQL или внутри или добавить в мой код? Я читал здесь , что вам нужно использовать параметр запуска --myisam-recover. Это тот случай?

1 Ответ

3 голосов
/ 18 марта 2009

Возможно, но почему? Если записи здесь генерируются людьми, которые печатают (как это выглядит), вы не сможете перегрузить машину, созданную после 1985 года или около того, если только вы не используете нетбук или мобильный телефон в качестве сервера базы данных.

Если вы достаточно ограничены в производительности, чтобы смотреть на подобные вещи, я бы посоветовал вам сначала выполнить профилирование, чтобы увидеть, были ли проблемы на самом деле. Если вы не беспокоитесь о производительности, какова мотивация для изучения DELAY_KEY_WRITE?

Еще несколько мыслей в ответ на ваши комментарии:

  • 1000 записей в минуту - это порядка миллионов записей в день. Как люди собираются «пересмотреть» их?
  • Это порядка гигабайт в месяц. Какими будут ваши политики хранения?
  • Должен ли журнал на самом деле быть проиндексирован или даже сохранен в таблице? Могут ли средства ведения журнала системы быть более подходящими?
  • Поможет ли регистрация информации в отдельных местах (журнал отладки, очередь просмотра, сводная таблица и т. Д.)?
  • Маловероятно, что ваша система будет на самом деле производить значимую информацию журнала с такой скоростью. Насколько реалистичны ваши оценки нагрузки и насколько это будет избыточно / бесполезно?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...