Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / XML и индексы / 4 сообщений из 4, страница 1 из 1
14.02.2008, 12:56
    #35132464
Мужик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XML и индексы
Что умеет Postgres для ускорения поиска по данным типа xml? Индексы по конкретному xpath'у это хорошо, а еще что-нибудь может? Всю документацию перерыл, так и не нашел ничего с этим связанное.

Кстати единственны найденный (здесь http://postgresmen.ru/articles/view/78) пример создания такого индекса так и не заработал... Там еще пишут про возможность создания по этим полям GIN индексов, что имеется ввиду о5 же непонятно.

Код: plaintext
1.
2.
3.
4.
5.
create index xml_idx on xmls using btree (
  ((xpath('/a/b/@v', x))[ 0 ])
);

ERROR: data type xml has no default operator class for access method "btree"
...
Рейтинг: 0 / 0
14.02.2008, 14:06
    #35132756
Гость_0
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XML и индексы
а если так ?
Код: plaintext
1.
2.
create index xml_idx on xmls using btree (
  ((xpath('/a/b/@v', x))[ 0 ]::text)
);
...
Рейтинг: 0 / 0
14.02.2008, 14:20
    #35132830
Мужик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XML и индексы
Так и делаю. Но это не совсем то, что хочется... Малейшие изменения xpath'а и индекс не используется. И потом что делать, если я не знаю в момент создания индекса, сколько элементов попадет в этот xpath? А в условии например хочу написать ARRAY['value'] <@ xpath('blah-blah', x).
...
Рейтинг: 0 / 0
14.02.2008, 14:56
    #35133010
Nikolay Samokhvalov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XML и индексы
МужикТак и делаю. Но это не совсем то, что хочется... Малейшие изменения xpath'а и индекс не используется. И потом что делать, если я не знаю в момент создания индекса, сколько элементов попадет в этот xpath? А в условии например хочу написать ARRAY['value'] <@ xpath('blah-blah', x).

К сожалению, полноценно GIN для типа данных xml пока не поддерживается. Вы можете использовать GIN-индекс над текстовым массивом, если результат выполнения xpath() будете явно приводить к text[]. Такой индекс должен помочь работе выражений, подобных указанному.
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / XML и индексы / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]