Что является более эффективным? MySQL субселект или php switch?

Итак, есть два способа, которыми я могу достичь того же результата, в моем запросе указана дополнительная выборка:

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

ИЛИ с помощью переключателя 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 для каждого результата?

Ура!

Себ

-1

Решение

Подвыборы общеизвестно убийства производительности … так что, я бы сказал, PHP.
Даже если, возможно, по практическим причинам я бы пошел на запрос MySQL с обычным JOIN …

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]