- DROP TABLE IF EXISTS slow_todate; - CREATE TABLE slow_todate(id serial primary key, date date); - INSERT INTO slow_todate(date) SELECT now()::date FROM generate_series(1,10000); - PREPARE datestmt1 AS SELECT count(*) FROM slow_todate WHERE date = to_date($1, 'DD:MM'); - EXPLAIN ANALYZE EXECUTE datestmt1('02:11'); - PREPARE datestmt2 AS SELECT count(*) FROM slow_todate WHERE date = (SELECT to_date($1, 'DD:MM')); - EXPLAIN ANALYZE EXECUTE datestmt2('02:11'); - CREATE OR REPLACE FUNCTION edb_to_char(float8, text) RETURNS text IMMUTABLE LANGUAGE INTERNAL AS 'float8_to_char'; - PREPARE tc AS SELECT edb_to_char(random(), 'ff'), edb_to_char(random(), 'ff'), edb_to_char(random(), 'ff'), edb_to_char(random(), 'ff'), edb_to_char(random(), 'ff'); - EXECUTE tc;