好的,我有两种方法可以达到相同的结果,在我的查询中有一个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
答案 0 :(得分:1)
Subselects是众所周知的表演杀手......所以,我会说PHP。 即使出于实际原因,我也可以使用常规JOIN来查询MySQL ...