Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
05.03.2008, 14:51
|
|||
|---|---|---|---|
|
|||
PostgreSQL и XML |
|||
|
#18+
Вобщем, такая ситуация: Есть таблица - t_books(id serial, xmldata xml) строк около 350тыс. Всего таблица занимает около 500 Мб. Мне нужно по выражению xpath выбрать узлы: делаю так: "SELECT id FROM xpath_table('id','xmldata','t_books','/book/info/@name','true') as t(id int4,"info" text) WHERE Upper(t."fam") = Upper('Delphi')" Все бы хорошо, но он выполняется около 5 минут! Это слишком много для моей задачи. Понятно, что нужно ввести индекс. Нашел только этот вариант:"create index t_books_idx on t_books using btree ( ((xpath('/book/info/@name', xmldata))[0]::text) ); " Индекс создался, но оказалось, что рано радовался - поиск длится так же около 5-6 минут. Как я понимаю индекс Postgresql не использует. Как решить данную проблему, посоветуйте, очень нужно. В базах данных я новичок, посоветуйте как быть. Всех заранее благодарю! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.03.2008, 14:55
|
|||
|---|---|---|---|
|
|||
PostgreSQL и XML |
|||
|
#18+
Забыл добавить: В каждой строке находится один узел - одна книга. Мне нужно отобрать строки(узлы), по xpath. Менять таблицу не могу - это в моем случае единственный вариант - данные приходят только в виде xml. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=53&mobile=1&tid=2004546]: |
0ms |
get settings: |
7ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
44ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
2ms |
| others: | 207ms |
| total: | 340ms |

| 0 / 0 |
