2

我想知道是否有关于 SQL 输出格式的最佳实践。在 PHP 端还是在 SQL 语句本身中这样做更好?我的 SGBD 是 MySQL。

4

4 回答 4

1

“格式化”是什么意思?

如果您的问题是关于显示数据的方式(数据格式、货币格式等),请使用 PHP 进行格式化。格式化是表示层的责任。

如果您需要一些额外的计算,或者如果您需要汇总结果,最好的方法通常是使用数据库功能。您不需要将大量数据传输到应用程序服务器,您可以节省它的内存和处理器。

于 2012-05-09T10:58:22.627 回答
1

除非您的格式会影响排序(见下文),否则您最好在 PHP 中进行所有格式设置。

  • 通过所有应用程序层传递复杂/格式化的数据会给您带来某种障碍。您应该在将它们显示给用户之前传递简单/原始值并对其进行格式化。这样,您可以将这些值用于其他目的,而不仅仅是用于显示。

您希望在 SQL 中格式化数据的主要原因是当它影响 item selection 或 order时,例如:

SELECT complex_expression(x) as fx FROM t ORDER BY fx LIMIT 20
  • 当 SQL 以某种方式限制或排序返回数据集中的数据时,在 SQL 中进行数学运算很有用。如果你认为你可以在 PHP 中做同样的事情,你可能可以,但在 SQL 中通常要容易得多。
于 2012-05-09T11:21:03.277 回答
0

取决于你需要什么样的格式。在 MySQL 中进行数学运算。比使用类似的 PHP 函数更快。如果您需要基本的日期格式,您可以在 MySQL 中完成,如果您需要高级格式,您最好使用 PHP。

于 2012-05-09T10:30:21.557 回答
0

我将 mysql 用于小逻辑,例如你需要计数、添加和这些东西..

如果您需要进行复杂的计算,我会使用 PHP 来避免 SQL 服务器过载

于 2012-05-09T10:33:25.277 回答