MySQL кой е по-добрия начин?

Kavhann

Registered
Имам следната таблица:


ID_product | property_1
-------------------------------
1 | 1, 16, 24


В този случай автикул 1 има три стойности за property_1. Чисто програмно се чудя това ли е по-добрия вариант или следния:

ID_product | property_1
-------------------------------
1 | 1
1 | 16
1 | 24

Кой от двата да избера?

При вариант (1) имам 1 заявка към базата данни и един ред код за да взема стойностите на Property_1 чрез explode().

При втория имам (3) заявки към базата данни и 0 операции с код.

Кой начин да избера?
 
<?
function microtime_float() {
list($utime, $time) = explode(" ", microtime());
return ((float)$utime + (float)$time);
}
$script_start = microtime_float();

...код...

$script_end = microtime_float();
echo "<br>Script executed in ".bcsub($script_end, $script_start, 4)." seconds.";
?>

Напиши го и по двата начина, след това запълни таблицата с един милион реда, за да може скриптовете да се затормозят и да лъсне голата истина - кой метод работи по-бързо. Тествай ги със скрипта, който съм ти постнал горе, той показва за колко милисекунди се изпълнява скрипта, който поставиш на мястото на "...код...".
 
Защо да имаш три заявки към базата данни при втория начин? Заявка от рода на
SELECT property_1 from table WHERE id_product = 1
не върши ли работа?
 
Втория. При стандартно извеждане ще е почти същото, но като тръгнеш да селектираш по стойности от това поле печелиш много с втория вариант.
 

Back
Горе