select to detect overlapping timeframes

Поиск
Список
Период
Сортировка
От Dave [Hawk-Systems]
Тема select to detect overlapping timeframes
Дата
Msg-id DBEIKNMKGOBGNDHAAKGNKEFLDLAC.dave@hawk-systems.com
обсуждение исходный текст
Ответы Re: select to detect overlapping timeframes  (DeJuan Jackson <djackson@speedfc.com>)
Список pgsql-php
looking for a better way to query and cehck for overlapping timeframes.

am selecting records for display that has 3 fields of importance;
    date_time (unix timestamp)
    session_time (in seconds)
    user_id      (text field)

Of all the sessions recorded, we are looking for a count of duplicate sessions
for a given month. currently we are doing this with two seperate calls, but it
is taking forever to process;

# first query is to gather sessions that took place within a given month
$query = "SELECT * FROM logs WHERE name='$username' AND \
    date_time>$dategt AND date_time<$datelt \
    ORDER BY date_time DESC";
$result = pg_exec($database,$query);
$numrows=pg_numrows($result);
for($count=0;$count<$numrows;$count++){
    $row = pg_fetch_array($result,$count);
# as we go through the hits, check for duplicates within that timeframe as well
    $DUPquery = "SELECT session_id FROM logs WHERE name='$username' AND \
        date_time>$sessionstart AND \
        (date_time - session_time)<$datetime \
        ORDER BY name ASC, date_time DESC";
    $DUPresult=pg_exec($database,$DUPquery);
    $DUPcount=pg_numrows($DUPresult);


Obviously this is extremely processor intensive, not to mention it seems sloppy.
Any better recommendations, either on altering the above code, or another way to
get the information we require?

Dave



В списке pgsql-php по дате отправления:

Предыдущее
От: Ângelo Marcos Rigo
Дата:
Сообщение: Re: Update problem
Следующее
От: DeJuan Jackson
Дата:
Сообщение: Re: select to detect overlapping timeframes