私はPHP Webアプリケーションを持っています。テーブルに挿入すると、いくつかのスコアを計算するためのトリガーを作成しましたが、これには時間がかかります。 PHPアプリケーションは、トリガーが完了するまで待機します。 このトリガーを別のスレッドで実行して、アプリケーションがトリガーの完了を待たないようにすることはできますか?第MySQLの別のスレッドでトリガを実行する方法はありますか?
しかし、ビル・クリントンなど
私はPHP Webアプリケーションを持っています。テーブルに挿入すると、いくつかのスコアを計算するためのトリガーを作成しましたが、これには時間がかかります。 PHPアプリケーションは、トリガーが完了するまで待機します。 このトリガーを別のスレッドで実行して、アプリケーションがトリガーの完了を待たないようにすることはできますか?第MySQLの別のスレッドでトリガを実行する方法はありますか?
しかし、ビル・クリントンなど
は、言っただろう「と私はなぜあなたを教えてあげましょう。」
トリガーの大きな利点の1つは、トリガーのアクションが、トリガーを発生させた元のステートメントのトランザクション内に含まれていることです。これは、ACID準拠が好きなので、リレーショナルの考え方からは良いことです。
ACIDの準拠が必要ない場合、トリガーされたアクションが "結局"有効になるようにしたら、トリガーを削除して「アクション」テーブルを作成します。次に、トリガーがアクションテーブルに何かをドロップするか、PHPコードがそれを実行する可能性があります。このテーブルに1秒おきにクエリを実行し、何かを見つけた場合は実行します。デーモンのパフォーマンスについて心配する必要はありません。通常は空のテーブルの1回目/ 2回目のクエリは何もありません。
有益な答えをありがとう – tamilnad
この引用符で私の朝を作ってくれてありがとう! :) –
PHPアプリケーションのスレッドが異なりますか?または別のMySQLスレッド? – Orbling
何でも入れることができます。別のPHPスレッドでストアドプロシージャとしてトリガを実行することも、MySQLの別のスレッドで実行することもできます。しかし、私はMySQLの別のスレッドで実行することを好む – tamilnad