0

MySQL 上の大規模なデータベース (50k 行以上) から「計算された」データを取得するか、オンザフライで計算を実行するのが、パフォーマンスの点で最善なのか疑問があります。

微積分は、まだ DB から取得されたいくつかのデータの単純な除算と乗算ですが、大量のデータ (ロードごとに最小 ~300 の微積分) です。

もう1つの注意点として、この「ページ」は複数回ロードできます(1回だけのロードではありません)。

値を計算して (たとえば、バックグラウンド タスクを使用して)、DB からのみ取得することが、パフォーマンスの観点から最適なソリューションだと思いますよね?

2つのアプローチには多くの違いがありますか?

4

1 に答える 1

1

それぞれのシステムの強みを生かしたいと思います。

集計、結合、およびフィルタリングのロジックは、明らかにデータ レイヤーに属します。これは、ほとんどの DB エンジンが 10 年以上の最適化を行っているためだけでなく、DB と Web サーバーの間で移動するデータを最小限に抑えることができるため、より高速です。

一方、私が使用したほとんどの DB プラットフォームは、個々の値を操作するための機能が非常に貧弱です。日付の書式設定や文字列の操作などは、SQL ではうまくいかないので、PHP でその作業を行う方が適切です。

基本的に、各システムは、その目的に合わせて使用​​してください。

保守性に関しては、何がどこで発生するかの区分が明確である限り、これらをロジックのタイプに分離しても大きな問題は発生せず、メリットを損なうほどではないはずです。私の意見では、コードの明快さと保守性は、すべてのロジックを 1 か所にまとめることよりも一貫性が重要です。

要約すると、私は間違いなくあなたの問題にデータベースを使用します。

于 2013-05-09T17:35:13.200 に答える