[sisyphus] postgresql index row
Денис Смирнов
mithraen на freesource.info
Пт Ноя 12 16:44:02 UTC 2010
On Fri, Nov 12, 2010 at 07:25:42PM +0300, Alexey I. Froloff wrote:
AIF> "Шарик, ты балбес!" (ц)
AIF> http://www.postgresql.org/docs/9.0/interactive/indexes-types.html
AIF> """The optimizer can also use a B-tree index for queries
AIF> involving the pattern matching operators LIKE and ~ *if* the
AIF> pattern is a constant and is anchored to the beginning of the
AIF> string -- for example, col LIKE 'foo%' or col ~ '^foo', but
AIF> not col LIKE '%bar'."""
Добавлю -- если понимать как работает b-tree индекс, то становится
очевидным что работать иначе оно не может.
Ибо он помогает только для операций сравнения. При этом x like 'abc%' это
то же самое что: (x >= 'abc' AND x < 'abd'), и только поэтому индекс
помогает в этой ситуации искать.
При этом индексы по большим строкам -- безусловное зло, а их желание
говорит о необходимости привести структуру базы в порядок.
--
С уважением, Денис
http://mithraen.ru/
----------------------------------------------------------------------------
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : отсутствует
Тип : application/pgp-signature
Размер : 198 байтов
Описание: Digital signature
Url : <http://lists.altlinux.org/pipermail/sisyphus/attachments/20101112/760ff967/attachment.bin>
Подробная информация о списке рассылки Sisyphus