2

非常に若いプログラミング「キャリア」でまだ遭遇したことのない新しい種類の問題に直面しており、それに最もよく取り組む方法についてあなたの意見を知りたい.

状況 調査アプリケーション (php/mysql) は、ユーザーからストレス関連の健康データを収集します。ユーザーは、アンケートに記入した後、分析を取得します。各パラメーターの値は、ベンチマーク (既存のデータ セットの平均および標準偏差) を使用してパーセンタイル値に変換されます。

タスク アンケートに回答する人がますます増えているため、新しいユーザー データを使用してベンチマーク値を再計算することで、ベンチマーク値 (平均値/標準偏差) をより正確にする可能性があります。データベースで、ベンチマーク値を更新するスクリプトを定期的に実行したいと考えています。

これまでストアドプロシージャを使用したことがなく、それらが何であるか について少ししか理解していませんが、どういうわけか、これで私を助けることができると感じていますか? または、スクリプトを php として記述してから、cron ジョブを設定する必要がありますか?

[編集]最初のいくつかの回答の後、明らかに cron が適しているように見えます。[/編集]

4

5 に答える 5

1

PHP を cron ジョブとして設定すると、それをソース コード管理システムに保持できます。また、データベース抽象化レイヤーを使用している場合は、切り替えを決定した場合に他のデータベースに移植できます。これらの理由から、私はストアド プロシージャよりもスクリプトを使用する傾向があります。

于 2008-09-17T13:22:31.347 に答える
1

これを機能させる最も簡単な方法は、Web サイトで使用しているのと同じ言語 (PHP のように聞こえます) でスクリプトを作成し、cron から呼び出すことです。

ロジックを 2 つの場所 (既存の計算とストアド プロシージャ) に配置して、必要以上に複雑にする必要はありません。

于 2008-09-17T13:24:45.367 に答える
1

あなたが考えていることは、いくつかの方法で行うことができます。

  1. DB にトリガーを設定して、新しいレコードが更新されるたびに値を再計算できます。必要に応じて、値を更新するために必要なコードを sproc に格納できます。

  2. PHP スクリプトを作成し、cron 経由で定期的に実行できます。

#1はデータベースへの挿入を遅くしますが、データが常に最新であることを確認します. #2は、新しい値を更新している間、テーブルをロックする可能性があり、データは次の更新までしか正確ではありません. #2は、スクリプトをバージョン管理システムに簡単に保存できるため、バックアップがはるかに簡単ですが、作成するバックアップにトリガーとsproc作成スクリプトを保存する必要があります。

明らかに、メソッドを選択する前に要件を比較検討する必要があります。

于 2008-09-17T13:26:02.120 に答える
0

データ量が多すぎてオンザフライで計算できない場合は、次のいずれかを行います。

  1. 合計を非正規化する php スクリプトを使用した cron ジョブ
  2. 合計をインクリメントする挿入でトリガーする
于 2008-09-17T13:22:34.250 に答える
0

cron ジョブの方法を使用します。シンプルで頑丈、機能します。PHP/MySQL の世界では、ストアド プロシージャはダメだと思います。

于 2008-09-17T13:22:43.297 に答える