PostgreSQL a LC_TIME
Pavel Stehule
stehule na kix.fsv.cvut.cz
Středa Duben 6 10:14:40 CEST 2005
>
> Trosku z jineho soudku - v tom pripade me zajima, proc to co oznacujes
> za "blby napad" ma v sobe postgres pravdepodobne implemnentovano prave
> pri praci s casem. Neni totiz jedno, kdyz napisu podminku
> _date=CURRENT_DATE a nebo _date='2005-04-06'::date(kde _date je typ date).
>
work=# work=# explain analyze select * from xx where d=current_date;
QUERY PLAN
--------------------------------------------------------------------------------------------
Seq Scan on xx (cost=0.00..0.00 rows=1 width=4) (actual
time=0.003..0.003 rows=0 loops=1)
Filter: (d = '2003-04-05'::date)
Total runtime: 0.091 ms
(3 rows)
work=# explain analyze select * from xx where d=current_date;
QUERY PLAN
--------------------------------------------------------------------------------------------
Seq Scan on xx (cost=0.00..0.00 rows=1 width=4) (actual
time=0.003..0.003 rows=0 loops=1)
Filter: (d = ('now'::text)::date)
Total runtime: 0.057 ms
(3 rows)
PostgreSQL rozhodne nevyhodnocuje CURRENT_DATE pro kazdy zaznam. Byl by to
i nesmysl. Now se vyhodnoti pouze jednou a to pri sestaveni planu.
Pavel Stehule
Další informace o konferenci Databases