哪个更有效率? mysql subselect还是php switch?

时间:2014-10-11 17:01:35

标签: php mysql switch-statement subquery

好的,我有两种方法可以达到相同的结果,在我的查询中有一个Subselect如下:

SELECT nu.id, nu.username, nu.user_level, nu.phpbb_id, nu.real_name, nu.telephone, nu.email, nu.monster_points, nu.ref_points, 
(SELECT lv.name FROM hh_user_levels lv WHERE lv.user_level = nu.user_level) AS 'level_name' FROM hh_user_new nu

或者在没有subselect的语句上使用PHP开关,如下所示:

switch($result['user_level'])   {
    case 0:
        $level_name = 'Not Logged In';
        break;
    case 1:
        $level_name = 'basic user';
        break;
    case 2:
        $level_name = 'member';
        break;
}

(实际上有10种可能性,但我并不认为你对所有这些都感兴趣!)

所以,我的问题是,哪个更有效率?通过MySQL子选择或通过每个结果的PHP开关实现这一目标?

干杯!

的Seb

1 个答案:

答案 0 :(得分:1)

Subselects是众所周知的表演杀手......所以,我会说PHP。 即使出于实际原因,我也可以使用常规JOIN来查询MySQL ...