0

为了减少下载数据的大小,我想用代码替换数据的一些重复部分,在客户端重新转换。

替换应该在 mysql 查询中还是在 PHP 中完成,还是有关系?

在 mysql 中:

SELECT IF(SUM(val)=16,0,CONCAT("[",GROUP_CONCAT(TRIM(TRAILING ".000" FROM val) ORDER BY itm),"]"))

PHP:

$q=str_replace("1.000","1",$q);
$q=str_replace("[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]","0",$q);
4

2 回答 2

2

MySQL 将比 PHP 更快,并使您的代码更简洁。

于 2013-01-14T00:35:20.593 回答
2

无论你选择在哪里做,都不要内联。将其包含在一个函数中,这样您就可以在不破坏实际查询的情况下重用和操作逻辑,反之亦然。

我会用我对 PHP 代码的投票,因为当你明天切换到 somethingElseDB 时,你不需要想办法在完全不同的 SQL 语法上实现相同的逻辑。我认为 PHP 实现也更容易阅读。

于 2013-01-14T00:40:48.830 回答