Re: Select on timestamp-day slower than timestamp alone
От | Richard Huxton |
---|---|
Тема | Re: Select on timestamp-day slower than timestamp alone |
Дата | |
Msg-id | 200305061404.24194.dev@archonet.com обсуждение исходный текст |
Ответ на | Select on timestamp-day slower than timestamp alone (Reiner Dassing <dassing@wettzell.ifag.de>) |
Ответы |
Re: Select on timestamp-day slower than timestamp alone
|
Список | pgsql-performance |
On Tuesday 06 May 2003 7:59 am, Reiner Dassing wrote: > Hello all! > > On PostgreSQL V7.3.2 on TRU64 I recognized the following phenomena > that a SELECT using a difference of a timestamp and an interval > in the WHERE clause does not use the index > but using a timestamp without a difference does use the index. > The semantic of both SELECT's is equal, i.e., the result is equal. > > Therefore, the second way is much faster. > > Any ideas? > Select not using index: > ----------------------- > wetter=# explain select * from wetter where epoche between > '2003-05-06 06:50:54+00'::timestamp-'1 days'::interval > AND '2003-05-06 04:45:36'; > > QUERY PLAN > > --------------------------------------------------------------------------- >---------------------------------------------------------------------------- >-------------------- Seq Scan on wetter (cost=0.00..768644.57 rows=10253528 > width=16) Filter: ((epoche >= ('2003-05-05 06:50:54'::timestamp without > time zone)::timestamp with time zone) AND (epoche <= '2003-05-06 > 04:45:36+00'::timestamp with time zone)) > (2 rows) Well, the "why" is because the number of rows recommended is so big (rows=10253528) - I'm also puzzled why we get "timestamp without time zone". Does an explicit cast to "with time zone" help? -- Richard Huxton
В списке pgsql-performance по дате отправления: