Скорость записи с MyISAM?
У меня есть эта большая таблица, в которой я хочу выполнить полнотекстовый поиск, поэтому я сделал это MyISAM, поскольку InnoDB не поддерживает это.
У меня будут проблемы с производительностью, если я много напишу в эту таблицу? Мне сказали, что MyISAM блокирует всю таблицу во время записи.
Есть ли у меня какой-либо другой вариант, если мне нужен как полнотекстовый поиск, так и неблокирующая запись?
2 ответа
Если вы в порядке со сторонними решениями (которые работают с вашей базой данных MySQL), я настоятельно рекомендую Sphinx обработать ваш полнотекстовый поиск. Как вы можете видеть на их веб-сайте, он высоко поддерживается сообществом и очень поддерживается в плане взаимодействия на уровне приложений.
Конечно, есть и другие решения, кроме Sphinx, в которых вы можете увидеть фантастическое обсуждение SO, сравнивая их здесь:
Выбор отдельного сервера полнотекстового поиска: Sphinx или SOLR?
Если вы будете много писать в таблицу MyISAM, у вас в конечном итоге возникнут проблемы с блокировкой, которых не было бы с InnoDB. Я рекомендую изучить другие варианты полнотекстового поиска, например, Lucene или Solr, которые теперь доступны на нескольких языках. Смотрите Lucene Tutorial, чтобы начать.