PFC wrote:
None of which address the question of what plan PG should produce for: SELECT * FROM bigtable WHERE foo LIKE 's%'

    Ah, this one already uses the btree since the '%' is at the end.
My point is that a search like this will yield too many results to be useful to the user anyway, so optimizing its performance is a kind of red herring.

At the *application level* yes.
At the *query planner* level no.

At the query planner level I just want it to come up with the best plan it can. The original argument was that PG's estimate of the number of matching rows was too optimistic (or pessimistic) in the case where we are doing a contains substring-search.

--
  Richard Huxton
  Archonet Ltd

---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
      choose an index scan if your joining column's datatypes do not
      match

Reply via email to