哪些选项更优化?
在MySQL中爆发
$rsFriends = $cnn->Execute('SELECT CAST(GROUP_CONCAT(id_friend) AS CHAR) AS friends
FROM table_friend
WHERE id_user = '.q($_SESSION['id_user']));
$friends = $rsFriends->fields['friends'];
echo $friends;
VS
在PHP中爆发
$rsFriends = $cnn->Execute('SELECT id_friend
FROM table_friend
WHERE id_user = '.q($_SESSION['id_user']));
while(!$rsFriends->EOF) {
$friends[] = $rsFriends->fields['id_friend'];
$rsFriends->MoveNext();
}
echo implode(',',$friends);
答案 0 :(得分:4)
您应该知道正确(“最佳”)选择将成为许多变量的一个因素:
但你绝对可以分析程序流程来帮助你得到答案:
在PHP中出现:
优点:
1234567890
是10字节ASCII,4字节作为32位整数)在MySQL中出现:
优点:
答案 1 :(得分:3)
根据评论,最佳在很大程度上取决于上下文。话虽如此,我的理念是:如果数据库可以做到,那就让它。
特别针对您的情况,如果您不分析或操纵结果 - 这意味着严格将所有记录连接在一起以进行输出 - 那么我肯定会投票数据库。
答案 2 :(得分:1)
这里最值得优化的是开发人员的时间和精力,用于实施和维护。 CPU周期的差异(作为完成工作总量的比例)很可能是微不足道的。我建议你以最容易编写,测试和支持的方式来做。