2012-06-27 7 views
2

У меня проблема. У меня есть управляемый сервер VPS с MySQL 5.1.x. В настоящее время я создаю новую базу данных, где я хочу хранить твиты (через поиск, поток, временную шкалу и т. Д.). Поэтому я хочу использовать движок базы данных InnoDB из-за блокировки строк! Но, к сожалению, MySQL 5.1 не поддерживает полнотекстовый поиск в таблицах InnoDB.InnoDB полнотекстовый поиск (no lucene)

Проблема в том, что я не могу самостоятельно обновить свой сервер. Поэтому я не могу установить MySQL 5.6 (который должен поддерживать полнотекстовый поиск), и я не могу установить lucene (или solr или что-то еще).

Есть ли другие возможности для полнотекстового поиска в MySQL или что-то еще. Или, может быть, в PostgreSQL (никогда не использовал это раньше)

Единственный вариант, я до сих пор собирается неуправляемых VPS, но я не предпочитаю, чтобы :)

ответ

0

Вы можете взглянуть на MyISAM двигатель, но это не транзакционно.

Другим возможным решением является создание другой таблицы с двигателем MyISAM или ARIA и создание связи между новой таблицей и таблицей «store tweets», поэтому перед вставкой в ​​«новую таблицу» убедитесь, что «сохранить твиты», он не заблокирован.

+0

Это, вероятно, невозможно. Я не хочу использовать MyISAM из-за блокировки таблицы при вставке. Есть много вставок! Я подумал о дополнительной таблице MyISAM, но тогда у меня все еще будут проблемы с вставками. – iSenne

+0

вы не будете, если вы сначала сделаете запрос к таблице InnoDB и прежде, чем ее выпустите, внесите вставку/обновление в таблицу MyISAM, вы сохраните целостность, потому что основная таблица (Innodb) будет заблокирована, а между тем вы вносите изменения в другую таблицу. – jcho360

+0

Как создать временную таблицу каждый раз, когда я запускаю запрос с полнотекстовым поиском? – iSenne

Смежные вопросы