powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / XML и индексы
4 сообщений из 4, страница 1 из 1
XML и индексы
    #35132464
Мужик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что умеет 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
XML и индексы
    #35132756
Гость_0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а если так ?
Код: plaintext
1.
2.
create index xml_idx on xmls using btree (
  ((xpath('/a/b/@v', x))[ 0 ]::text)
);
...
Рейтинг: 0 / 0
XML и индексы
    #35132830
Мужик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так и делаю. Но это не совсем то, что хочется... Малейшие изменения xpath'а и индекс не используется. И потом что делать, если я не знаю в момент создания индекса, сколько элементов попадет в этот xpath? А в условии например хочу написать ARRAY['value'] <@ xpath('blah-blah', x).
...
Рейтинг: 0 / 0
XML и индексы
    #35133010
Nikolay Samokhvalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
МужикТак и делаю. Но это не совсем то, что хочется... Малейшие изменения xpath'а и индекс не используется. И потом что делать, если я не знаю в момент создания индекса, сколько элементов попадет в этот xpath? А в условии например хочу написать ARRAY['value'] <@ xpath('blah-blah', x).

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


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