въпрос
3 отговора
129 прегледа
въпрос
значи
mysql,
таблица:
start_date, stop_date .......
трябва ми брой на сесиите (start_date< nachalo_interval > stop_date) през 10 мин (или произволен интервал от време)
идиотския начин е цикъл с амнайсе хиляди заявки (работи, но неефективно)
пробвах групиране по време с date_format() но не ми върши работа, защото дава брои на приключилите (или започнали) сесии... (трябва ми брой на активните сесии в началото на интервала от време)
та питам...някои да се сеща за вариант с 1 заявка :)[
mysql,
таблица:
start_date, stop_date .......
трябва ми брой на сесиите (start_date< nachalo_interval > stop_date) през 10 мин (или произволен интервал от време)
идиотския начин е цикъл с амнайсе хиляди заявки (работи, но неефективно)
пробвах групиране по време с date_format() но не ми върши работа, защото дава брои на приключилите (или започнали) сесии... (трябва ми брой на активните сесии в началото на интервала от време)
та питам...някои да се сеща за вариант с 1 заявка :)[
Re: въпрос
я разрови архива. Преди някой и друг месец обсъждахме подобна задачка.
Ако не се лъжа въпроса тогаве беше зададен от Торбалан
salle.online.bg/sig
Ако не се лъжа въпроса тогаве беше зададен от Торбалан
salle.online.bg/sig
Re: въпрос
mm da imh edin takyv problem i sled dna blizo edno mesechna diskusia se stigna do edin kompromisen variant (btw big 10x na Torbalan za koeto) :)
znachi zaiavkata v moia sluchei izglejda gore dolo
q= "SELECT count(*)as cnt,SUM(process_seconds)as psum, SUM(duration)as avg_time,status_id, FLOOR((UNIX_TIMESTAMP(stamp) -$timeframe_start)/$time_interval) as period_numb ";
$q.= "FROM $tmp_tbl_name where stamp BETWEEN FROM_UNIXTIME($timeframe_start,'%Y%m%d%H%i%S') AND FROM_UNIXTIME($timeframe_end,'%Y%m%d%H%i%S') group by FLOOR((UNIX_TIMESTAMP(stamp) -$timeframe_start)/$time_interval), status_id ";
$q.= "ORDER BY FLOOR((UNIX_TIMESTAMP(stamp) - $timeframe_start)/$time_interval) ASC";
vsyshnost mislia che bi tribvalo da ti svyrshi rabota s malko modifikacii znachi
cialoto tva e php i se nadiavam da mojesh da go chetesh ...
$timeframe_start nachalo na perioda koito iskash da razbiesh v unixtime
$timeframe_end krai na perioda otnovo v unixtime
$time_interval - intervala na kolkoto iskash da razbiesh dadenia period v sekundi
ako imash da bachkash s pogolemi record setove ti preporychvam da gi kachvash v heep table predi da zaciklish zaiavkata ne e lekka .....
sys sigurnost ima i nachin za optimizirane ama oshte ne sym go otkril :)
znachi zaiavkata v moia sluchei izglejda gore dolo
q= "SELECT count(*)as cnt,SUM(process_seconds)as psum, SUM(duration)as avg_time,status_id, FLOOR((UNIX_TIMESTAMP(stamp) -$timeframe_start)/$time_interval) as period_numb ";
$q.= "FROM $tmp_tbl_name where stamp BETWEEN FROM_UNIXTIME($timeframe_start,'%Y%m%d%H%i%S') AND FROM_UNIXTIME($timeframe_end,'%Y%m%d%H%i%S') group by FLOOR((UNIX_TIMESTAMP(stamp) -$timeframe_start)/$time_interval), status_id ";
$q.= "ORDER BY FLOOR((UNIX_TIMESTAMP(stamp) - $timeframe_start)/$time_interval) ASC";
vsyshnost mislia che bi tribvalo da ti svyrshi rabota s malko modifikacii znachi
cialoto tva e php i se nadiavam da mojesh da go chetesh ...
$timeframe_start nachalo na perioda koito iskash da razbiesh v unixtime
$timeframe_end krai na perioda otnovo v unixtime
$time_interval - intervala na kolkoto iskash da razbiesh dadenia period v sekundi
ako imash da bachkash s pogolemi record setove ti preporychvam da gi kachvash v heep table predi da zaciklish zaiavkata ne e lekka .....
sys sigurnost ima i nachin za optimizirane ama oshte ne sym go otkril :)
Редактирано от menta2k на
Re: въпрос
10x veso :)
>vsyshnost mislia che bi tribvalo da ti svyrshi rabota s malko modifikacii znachi
>cialoto tva e php i se nadiavam da mojesh da go chetesh ...
aide sa :) ex need bige sme vse pak ... to purl to pehepe:)
>vsyshnost mislia che bi tribvalo da ti svyrshi rabota s malko modifikacii znachi
>cialoto tva e php i se nadiavam da mojesh da go chetesh ...
aide sa :) ex need bige sme vse pak ... to purl to pehepe:)