2

SQL出力の​​フォーマットに関するベストプラクティスがあるかどうか疑問に思いました。これをPHP側で行うのが良いですか、それともSQLステートメント自体で行うのが良いですか?私のSGBDはMySQLです。

4

4 に答える 4

1

フォーマットが順序に影響しない限り(以下を参照)、PHPですべてのフォーマットを行う方がおそらく良いでしょう。

  • すべてのアプリケーション層を介して複雑な/フォーマットされたデータを渡すと、ある種のハンディキャップが残ります。単純/プリミティブ値を渡して、ユーザーに表示する直前にフォーマットする必要があります。このようにして、これらの値を表示だけでなく他の目的にも使用できます。

SQLでデータをフォーマットする主な理由は、データがアイテムの選択または順序に影響する場合です。次に例を示します。

SELECT complex_expression(x) as fx FROM t ORDER BY fx LIMIT 20
  • SQLで計算を行うと、返されたデータセットのデータを何らかの方法で制限または順序付けする場合に役立ちます。PHPでも同じことができると思うなら、おそらくできるでしょうが、SQLでは通常はるかに簡単です。
于 2012-05-09T11:21:03.277 に答える
1

「フォーマット」とはどういう意味ですか?

データの表示方法(データ形式、通貨形式など)について質問がある場合は、PHPを使用してフォーマットします。フォーマットはプレゼンテーション層の責任です。

追加の計算が必要な場合、または要約などの集計結果が必要な場合は、通常、データベース機能を使用するのが最善の方法です。大量のデータをアプリケーションサーバーに転送する必要はありません。メモリとプロセッサを節約できます。

于 2012-05-09T10:58:22.627 に答える
0

必要なフォーマットの種類によって異なります。MySQLで数学を行います。同様のPHP関数を使用するよりも高速です。基本的な日付のフォーマットが必要な場合はMySQLで行うことができ、高度なフォーマットが必要な場合はPHPで行う方がよいでしょう。

于 2012-05-09T10:30:21.557 に答える
0

私は小さなロジックにmysqlを使用します。たとえば、カウント、追加、およびこれらの種類のものが必要です。

複雑な計算を行う必要がある場合は、PHPを使用してSQLサーバーに過負荷をかけないようにします

于 2012-05-09T10:33:25.277 に答える