Лучшая настройка MySQL для быстрой смены больших текстовых полей?

Я пытаюсь оптимизировать базу данных MySQL для таблицы со следующими характеристиками.

Любая идея? (механизм хранения и т. д.)

Стол:

  • ca. 10000 строк

  • каждая строка содержит одно большое текстовое поле размером:

    ca. 200 кБайт в среднем.

    ca. 1000 кБайт максимально.

  • до нескольких раз в секунду:

    строки удаляются и вставляются.

    данные добавляются в текстовые поля.

    текстовые поля читаются.

Тип текстового поля в настоящее время LONGTEXT, как указано в CLOB Propel ORM.

1 ответ

Решение

В качестве отправной точки я бы отстаивал Innodb над MyISAM.

  • Блокировка на уровне строк против блокировки на уровне таблиц для обновлений
  • Сбой / устойчивый к коррупции
  • Если у вас достаточно оперативной памяти, ваш набор данных может находиться в памяти (в пуле буферов innodb)

Если вы используете более новую версию MySQL с плагином Innodb, для формата файла Barracuda есть несколько отличных тестов скорости и сжатия. Хорошая запись в блоге на эту заметку (которая рассказывает о ситуации, похожей на вашу на первый взгляд):

http://www.mysqlperformanceblog.com/2008/04/23/real-life-use-case-for-barracuda-innodb-file-format/

Другие вопросы по тегам