въпрос

3 отговора 129 прегледа
#1

въпрос

значи
mysql,

таблица:
start_date, stop_date .......

трябва ми брой на сесиите (start_date< nachalo_interval > stop_date) през 10 мин (или произволен интервал от време)

идиотския начин е цикъл с амнайсе хиляди заявки (работи, но неефективно)

пробвах групиране по време с date_format() но не ми върши работа, защото дава брои на приключилите (или започнали) сесии... (трябва ми брой на активните сесии в началото на интервала от време)

та питам...някои да се сеща за вариант с 1 заявка :)[

Отговор
в отговор на nz #2

Re: въпрос

я разрови архива. Преди някой и друг месец обсъждахме подобна задачка.

Ако не се лъжа въпроса тогаве беше зададен от Торбалан

salle.online.bg/sig
Отговор
в отговор на nz #3

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 :)

Редактирано от menta2k на

Отговор
в отговор на menta2k #4

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:)

Отговор