一部のデータ用に小さな検索エンジンを作成しています。全文検索機能を備えているため、MyiSAMを使用する必要があります。残念ながら、私はまた、コミットとロールバックのトランザクションを使用して、検索されるデータの入力を確実にする必要があります。MySQLはInnoDbテーブルとMyiSAMテーブルをマージする
データストレージ用のInnoDbテーブル(コミットとロールバックができるため)と、フルテキスト検索を使用するためのInnoDbテーブルの完全コピーであるMyiSAMテーブルを作成しました。問題は、これらのテーブルを同期させておくことです。
InnoDbテーブルと同期したMyiSAMテーブルを効率的に保存する方法を探しています。 InnoDbテーブルにデータがコミットされるまでMyiSAMテーブルに格納されているものは欲しくないので、トリガは使用できません。
私は大丈夫ですが、コミット時にテーブルを同期するコードを書くのは大丈夫ですが、私は2つのテーブルを組み合わせる方法が不明です。テーブルが巨大になる可能性があり、ユーザーがレコードを1時間挿入するのを待たせたくありません。同じコンテキストでは、cronジョブが2つのテーブルを同期させてMyiSAMテーブルをロックするため、1日のうちのある時間にユーザーが検索エンジンにアクセスできないようにしたくありません。
私のMySQLサーバはBluehost上にあるため、MySQLはバージョン5.1でロックされているため、新しいInnoDbフルテキスト検索をバージョン5.6で使用することはできません。もちろんBluehostにはsphinxのようなサードパーティの検索サーバーをインストールすることはできません。
誰かが私の問題の良い解決策を持っているなら、私は非常に感謝しています。