Плохая практика для зеркалирования таблиц MySQL? - PullRequest
3 голосов
/ 14 апреля 2010

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

(MyISAM - единственный механизм, поддерживающий полнотекстовый поиск, но мне нужно использовать ограничения внешнего ключа, предлагаемые InnoDB)

Стоит ли этого избегать?

1 Ответ

1 голос
/ 14 апреля 2010

Прежде всего, вы рассматривали возможность использования хорошего поискового индексатора? например, lucene: http://lucene.apache.org/java/docs/ значительно ускорит поиск, поскольку он строит свои собственные индексные таблицы.

если вы определенно хотите использовать встроенный полнотекстовый поиск mysql, вы можете сократить таблицу myisam так, чтобы она просто содержала текстовые данные, которые вы хотите найти, и первичный ключ - и затем получить нужные данные из обычного Таблицы innodb, когда вы знаете, Pkey. это позволило бы избежать дублирования других данных в таблице.

...