Eu tenho uma tabela com ~ 200 milhões de linhas que tem uma coluna de data. Eu quero realizar a seguinte consulta.
select my_date from my_table
where my_date > to_date('2020-10-01', 'YYYY-MM-DD');
À medida que a consulta está sendo executada, em cada my_date em cada linha, o valor de data no banco de dados será comparado com minha data de string convertida em um objeto de data. O postgres é inteligente o suficiente para perceber que essa transformação de string para objeto de data precisa ser executada apenas uma vez ou será executada em cada linha?
O Postgres fará a conversão de string para data apenas uma vez, porque
to_date
é umaSTABLE
função e o argumento é uma constante.Mas se você está preocupado com isso, use a sintaxe literal de data:
date '2020-10-01'
.Consulte https://www.postgresql.org/docs/current/datatype-datetime.html#DATATYPE-DATETIME-INPUT