Я создаю небольшую поисковую систему для некоторых данных, и мне нужно использовать MyiSAM из-за функции полнотекстового поиска. К сожалению, мне также нужно использовать транзакции для коммитов и откатов, чтобы обеспечить ввод данных, которые будут искать.
Я создал таблицу InnoDb для хранения данных (потому что она может выполнять фиксацию и откат) и таблицу MyiSAM, которая является точной копией таблицы InnoDb для использования полнотекстового поиска. Теперь проблема в том, чтобы синхронизировать эти таблицы.
Я ищу эффективный способ синхронизации таблицы MyiSAM с таблицей InnoDb. Я не могу использовать триггеры, потому что я не хочу, чтобы что-либо хранилось в таблице MyiSAM, пока данные не будут зафиксированы в таблице InnoDb.
Я готов написать код, который будет синхронизировать таблицы при фиксации, но я не уверен в быстром способе объединения двух таблиц. Таблицы потенциально могут быть огромными, и я не хочу, чтобы пользователь ждал час, чтобы вставить одну запись. В том же контексте я не хочу, чтобы пользователь не мог получить доступ к поисковой системе в какое-то время дня в течение часа, поскольку задание cron синхронизирует две таблицы и блокирует таблицу MyiSAM.
Стоит также упомянуть, что мой сервер MySQL находится на Bluehost, поэтому MySQL заблокирован на версии 5.1, поэтому я не могу использовать новый полнотекстовый поиск InnoDb с версией 5.6. И, конечно же, я не могу установить какой-либо сторонний поисковый сервер, например sphinx, на Bluehost.
Если у кого-то есть хорошее решение моей проблемы, буду очень признателен.