2012-02-28 17 views
1

私は、250万行以上の行を持つmyISAMテーブルを持っています。 FullText検索が必要なのは、myisamです。回避策へのmysqlトリガの利点Innodb Fulltext検索の不足

私はInnoDBテーブルとして再度テーブルを作成し、次にmyISAMにコピーを作成することを検討しています。次に、innodbテーブルの変更をmyisamテーブルに複製するトリガを作成します。

innodbテーブルはトランザクションとして機能し、書き込みまたは更新時にテーブル全体をロックしないため、機能が向上します。

私の質問は:myisamテーブルに多くの利点があるかどうかは、innodbテーブルに書き込むたびにmyisamに書き込まれるため、以前と同じように頻繁に書き込まれることになりますか?

感謝の意を表します。

のInnoDBにMyISAMテーブルからコピーするためのトリガを使用したブレット・

答えて

0

は、トランザクションがロールバックされたときに、一貫性のないデータを作成する危険性があります。

InnoDBテーブルで動作するSphinxのような全文検索エンジンをインストールすることをお勧めします。

もう一つのアイデアは、イベントスケジューラを使ってMyISAMとInnoDBを定期的に同期させることです。フルテキスト検索で古いデータが返される危険性がありますが、一方でこれはパフォーマンスへの影響が少なく、少なくとも同期ごとにデータが一貫していることがわかります。

また、いくつかの良いニュース:MySQL 5.6から、InnoDBは全文検索を取得します。

+1

ありがとう、今は5.6を使用していて、全文がInnodbテーブルで正常に動作しているようです。 – bertster

+0

優秀!早いアダプターのためによろしいですか? – Mchl