0

検索インデックスをリアルタイムで更新できるようにしたい。これは、MySQLのトリガーを使用して行うのが最も簡単です。アプリケーションにコードを追加して、DBが更新される各場所で更新するのは、非常に面倒です。トリガーの問題は、DBへのすべての更新/挿入/削除が遅くなることです。

インデックスで更新を実行する(またはphpスクリプトを呼び出して更新を処理する)関数を呼び出すことができる方法はありますが、これは非同期で行います。トリガーの完了を妨げてはなりません。

DBにはMySQLを使用し、検索サーバーにはスフィンクスを使用しています

4

3 に答える 3

0

たぶんMySQLイベントからいくつかの素晴らしいアイデアをチェックしてください

その他: http:
//phpmaster.com/working-with-mysql-events/?utm_source = rss &utm_medium = rss&utm_campaign = phpmaster-working-with-mysql-events

http://dev.mysql.com/doc/refman/5.5/en/create-event.html

于 2012-07-13T19:08:28.433 に答える
0

あなたの質問を正しく理解したかどうかはわかりませんが、

INSERT DELAYED

http://dev.mysql.com/doc/refman/5.1/en/insert-delayed.html

UPDATE LOW_PRIORITY

http://dev.mysql.com/doc/refman/5.1/en/update.html

これらのコマンドはデータベースのワークロードを考慮に入れるため、便利です。

于 2012-07-13T19:18:22.503 に答える
0

ここでギアマンを使用することをお勧めします:

http://sphinxsearch.com/forum/view.html?id=9823

「バックグラウンド」タスクを使用すると、非同期にすることができ、トリガーを大幅に遅らせることはできません。

gearmanを使用すると、トリガーからPHPコードを簡単に呼び出すことができます。

于 2012-07-16T08:51:50.703 に答える