Re: SQL help for efficient time handling..

Поиск
Список
Период
Сортировка
От Rajesh Kumar Mallah
Тема Re: SQL help for efficient time handling..
Дата
Msg-id 200303221425.02824.mallah@trade-india.com
обсуждение исходный текст
Ответ на Re: SQL help for efficient time handling..  (Popeanga Marian <pmarian@cnlo.ro>)
Список pgsql-sql
nopes!

does not match any record..
SELECT  time_id from time_dimension where sql_time=cast( now() as time without time zone);
+---------+
| time_id |
+---------+
+---------+
(0 rows)


On Saturday 22 Mar 2003 2:15 pm, Popeanga Marian wrote:
> Hello Mallah,
> 
> Have you tryed this :
> 
>       SELECT  time_id from time_dimension where sql_time=cast(now() as time without time zone);
> 
> Your tabel is indexed for a time h:m:s and you should to have a where 
> clause with a time value like this index is defined. Other way you will 
> have a filter scan.
> 
> Rajesh Kumar Mallah wrote:
> 
> >Hi everyone,
> >
> >I have a table time_dimension loaded with 1440 records
> >i record for each min in 24 hrs
> >
> >
> >CREATE TABLE general.time_dimension
> >(
> >        time_id integer not null ,
> >        sql_time time(0) without time zone  not null,
> >        PRIMARY KEY (time_id),
> >        UNIQUE (sql_time)
> >);
> >
> >sample data is like,
> >
> >tradein_clients=# SELECT * from time_dimension limit 10;
> >+---------+----------+
> >| time_id | sql_time |
> >+---------+----------+
> >|       1 | 00:00:00 |
> >|       2 | 00:01:00 |
> >|       3 | 00:02:00 |
> >|       4 | 00:03:00 |
> >|       5 | 00:04:00 |
> >|       6 | 00:05:00 |
> >|       7 | 00:06:00 |
> >|       8 | 00:07:00 |
> >|       9 | 00:08:00 |
> >|      10 | 00:09:00 |
> >+---------+----------+
> >(10 rows)
> >
> >To get current_time_id  i use a query like
> >SELECT  time_id from time_dimension where sql_time=date_trunc('minute' , cast(now() as time without time zone) );
> >
> >it works but uses seq_scan
> >Seq Scan on time_dimension  (cost=0.00..35.00 rows=5 width=4) (actual time=4.75..8.16 rows=1 loops=1)      
> >   Filter: ((sql_time)::interval = date_trunc('minute'::text, ((now())::time without time zone)::interval)) 
> > Total runtime: 8.20 msec
> >
> >whereas a query like
> >
> >explain analyze SELECT  time_id from time_dimension where sql_time='13:13:13';
>
>+------------------------------------------------------------------------------------------------------------------------------------------+
> >|                                                                QUERY PLAN
                     |
 
>
>+------------------------------------------------------------------------------------------------------------------------------------------+
> >| Index Scan using time_dimension_sql_time_key on time_dimension  (cost=0.00..4.82 rows=1 width=4) (actual
time=0.03..0.03rows=0 loops=1) |
 
> >|   Index Cond: (sql_time = '13:13:13'::time without time zone)
                     |
 
> >| Total runtime: 0.06 msec
>
>--------------------------------------------------------------------------------------------------------------------------------------------
> >take much less.
> >
> >can anyone tell be the best way to get time_id from time_dimension for current_time.
> >
> >any help is appreciated.
> >
> >Regds
> >Mallah.
> >
> >
> >  
> >
> 
> -- 
> Popeanga Marian
> DBA Oracle
> CNLO Romania
> 
> 
> 
> 
> 

-- 
Rajesh Kumar Mallah,
Project Manager (Development)
Infocom Network Limited, New Delhi
phone: +91(11)6152172 (221) (L) ,9811255597 (M)

Visit http://www.trade-india.com ,
India's Leading B2B eMarketplace.



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

Предыдущее
От: Popeanga Marian
Дата:
Сообщение: Re: SQL help for efficient time handling..
Следующее
От: Popeanga Marian
Дата:
Сообщение: Re: SQL help for efficient time handling..