Преимущества mysql вызывают обходной путь Innodb отсутствие полнотекстового поиска - PullRequest
1 голос
/ 28 февраля 2012

У меня есть таблица myISAM с 2,5 миллионами и растущими строками.Это myisam, так как мне требуется полнотекстовый поиск.

Проведя некоторые исследования в стеке потока, я пытаюсь снова создать таблицу в виде таблицы InnoDB, а затем создать копию в myISAM.Затем я создам триггеры, которые будут реплицировать любые изменения в таблице innodb в таблицу myisam.

Таблица innodb будет работать лучше, так как работает транзакционно и не блокирует всю таблицу при записи или обновлении..

Мой вопрос: увижу ли я большую выгоду в таблице myisam, поскольку она будет записываться так же часто, как и раньше, потому что каждая запись в таблицу innodb приведет к последующей записи в myisam.

Любые предложения или другие идеи, с благодарностью полученные.

Бретт

1 Ответ

0 голосов
/ 28 февраля 2012

Использование триггеров для копирования из MyISAM в InnoDB может создать противоречивые данные при откате транзакций.

Лучшей идеей может быть установка механизма полнотекстового поиска, такого как Sphinx, который может работать с таблицами InnoDB.

Другая идея - периодически синхронизировать MyISAM с InnoDB с помощью планировщика событий. Вы рискуете, что полнотекстовый поиск вернет устаревшие данные, но, с другой стороны, это должно оказать меньшее влияние на производительность, и, по крайней мере, вы знаете, что данные согласованы после каждой синхронизации.

Также есть хорошие новости: начиная с MySQL 5.6 InnoDB получает полнотекстовый поиск.

...