Hello,
I am trying to understand how the cost for a query involving indexes on
expressions is calculated. How is the statistics on the expression maintained?
For example Postgres documentation on 'Indexes on Expressions' mentions the
following example:
CREATE INDEX people_names ON people ((first_name || ' ' || last_name));SELECT *
FROM people WHERE (first_name || ' ' || last_name) = 'John Smith';
The index is created on an expression involving first name and last name. My
confusion is basically around:
(1) When using this index how will the query planner get the stats on this
expression? (2) Whenever an index on an expression is defined like this, should
we rebuild the stats?
Thanks,
Shantanu