On Fri, 4 Dec 1998, Taral wrote:
> >hygea=> explain select * from comuni where nome = 'A%';
> >NOTICE: QUERY PLAN:
> >Index Scan using nome_comune_idx on comuni (cost=2.05 size=2 width=84)
> >^^^^^
>
> The question was about LIKE, not =. Because LIKE uses regexp-style matching and
> we have no substring index functionality, it cannot use the index. If you're
> always matching on the first character, you can do something like fulltextindex
> does and use triggers and a second (indexed) table to be able to match on the
> first character only.
Actually, on a beginging string only search you can do:
explain select * from td_prices where manu~'^IBM';
NOTICE: QUERY PLAN:
Index Scan on td_prices (cost=682.34 size=1 width=64)
Thats using a btree index. :)
You can't do a case insensitive search though.