Скорость записи с MyISAM?

У меня есть эта большая таблица, в которой я хочу выполнить полнотекстовый поиск, поэтому я сделал это MyISAM, поскольку InnoDB не поддерживает это.

У меня будут проблемы с производительностью, если я много напишу в эту таблицу? Мне сказали, что MyISAM блокирует всю таблицу во время записи.

Есть ли у меня какой-либо другой вариант, если мне нужен как полнотекстовый поиск, так и неблокирующая запись?

2 ответа

Решение

Если вы в порядке со сторонними решениями (которые работают с вашей базой данных MySQL), я настоятельно рекомендую Sphinx обработать ваш полнотекстовый поиск. Как вы можете видеть на их веб-сайте, он высоко поддерживается сообществом и очень поддерживается в плане взаимодействия на уровне приложений.

Конечно, есть и другие решения, кроме Sphinx, в которых вы можете увидеть фантастическое обсуждение SO, сравнивая их здесь:

Выбор отдельного сервера полнотекстового поиска: Sphinx или SOLR?

Если вы будете много писать в таблицу MyISAM, у вас в конечном итоге возникнут проблемы с блокировкой, которых не было бы с InnoDB. Я рекомендую изучить другие варианты полнотекстового поиска, например, Lucene или Solr, которые теперь доступны на нескольких языках. Смотрите Lucene Tutorial, чтобы начать.

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