| От | Tomasz Myrta |
|---|---|
| Тема | dynamic date |
| Дата | |
| Msg-id | 3B9DDF83.884C7509@lamer.pl обсуждение исходный текст |
| Список | pgsql-bugs |
I have something like this:
billy=# EXPLAIN SELECT * from kursy where id_trasy=1 and
data_kursu=date('2001-12-12');
NOTICE: QUERY PLAN:
Index Scan using pp on kursy (cost=0.00..51.55 rows=1 width=18)
billy=# EXPLAIN SELECT * from kursy where id_trasy=1
and data_kursu='2001-12-12';
NOTICE: QUERY PLAN:
Index Scan using pp on kursy (cost=0.00..2.02 rows=1 width=18)
Why the first expression is 25 times slower?
I suppose, that planner thinks, that date('2001-12-12') is a dynamic
variable - is it true? I found this problem when i had to add date and
integer. Little "iscachable" function helped me, but I still don't know
why it happened.
CREATE FUNCTION date_sum(date,integer) returns date AS'
BEGIN
return $1+$2;
END;
'LANGUAGE 'plpgsql' WITH (iscachable);
В списке pgsql-bugs по дате отправления:
Сайт использует файлы cookie для корректной работы и повышения удобства. Нажимая кнопку «Принять» или продолжая пользоваться сайтом, вы соглашаетесь на их использование в соответствии с Политикой в отношении обработки cookie ООО «ППГ», в том числе на передачу данных из файлов cookie сторонним статистическим и рекламным службам. Вы можете управлять настройками cookie через параметры вашего браузера