Где лучше выполнять операции - на php или MySQL

Drozdd

Новичок
Где лучше выполнять операции - на php или MySQL

Собственно тема следующая, есть скрипт, который по определенным условиям выбирает определенную строку, причем все операции проделывает на стороне mysqsl, используя пользовательские переменные:

PHP:
mysql_query("SELECT @id:=0,@i:=0.0,@k:=SUM(d_in*k) FROM table WHERE displ=1");
mysql_query("SELECT IF((".(mt_rand(0,1000)/1000)."<=@i:=@i+d_in*k/@k),IF(@id=0,@id:=id,0),0) FROM table WHERE displ=1 ORDER BY d_in*k DESC");
mysql_query("UPDATE table SET t_out=t_out+1 WHERE id=@id LIMIT 1");
$r=mysql_query("SELECT id FROM table WHERE id=@id LIMIT 1");
$d=mysql_fetch_assoc($r);
echo$d["id"];
Можно сделать альтернативу без пользовательских переменных, где все операции выполняются на стороне php скрипта, mysql выдает только данные и обновляет их:


PHP:
$r=mysql_query("SELECT * FROM table WHERE displ=1");//здесь в переменную $r получаю все данные - порядка 50 строк
//дальше эти данные обрабатываются php скриптом
//который вычисляет нужный id, принцип такой же что и в предыдущих запросах
//скрипт на пару циклов, занимает 10-15 строк, здесь его не привожу, на выходе выдает $id
mysql_query("UPDATE table SET t_out=t_out+1 WHERE id='".$id."' LIMIT 1");
echo$id;
вопрос в том как лучше сделать - какой из скриптов будет меньше жрать ресурсов и быстрее выполнятся?
 

Drozdd

Новичок
как? с помощью php пробовал время засекать (давно правда и для другого скрипта) выдает для одно и того же разные значения - зависит от загрузки компа, делал под денвером....

к тому же характеристика время - это одно, другое дело ресурсы - при частых выполнениях их просто может не хватить, а предполагается очень частое выполнение

да и альтернативу писать надо, чтобы померять...

Перефразирую вопрос:
пользовательские переменные и операции с ними в mysql вообще стоит использовать?
 

Фанат

oncle terrible
Команда форума
я думаю, из-за 50 строк вообще не стоит голову ломать.
у тебя сайт тормозит из-за этих расчетов? Нет? Пойдит, найди себе занятие поважнее
 
Сверху