Re: pattern matching indexing
От | Peter Eisentraut |
---|---|
Тема | Re: pattern matching indexing |
Дата | |
Msg-id | 1356615259.13340.4.camel@vanquo.pezone.net обсуждение исходный текст |
Ответ на | Re: pattern matching indexing (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: pattern matching indexing
|
Список | pgsql-docs |
On Mon, 2012-12-24 at 10:12 -0500, Tom Lane wrote: > Peter Eisentraut <peter_e@gmx.net> writes: > > To index pattern matching, you can use the _pattern_ops operator > > classes, or you can set the column collation in the index to "C". The > > latter option doesn't appear to be documented (unless you read very deep > > between the lines). Is that intentional? > > It is stated at > http://www.postgresql.org/docs/devel/static/indexes-opclass.html > that you don't need the special pattern opclasses in C locale. > Feel free to rephrase or document elsewhere if you find that too > obscure. What it doesn't make very clear is that you can also override the locale in the index definition itself. So instead of the recommended CREATE INDEX test_index ON test_table (col varchar_pattern_ops); you can write nearly equivalently CREATE INDEX test_index ON test_table (col COLLATE "C"); I'm also wondering whether the latter wouldn't be a preferable recommendation going forward. I suppose it's also a matter of taste, but such an index can also be used for other things (e.g. ORDER BY col COLLATE "C"), and it uses less obscure and magic functionality.
В списке pgsql-docs по дате отправления: