powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Clob, парсинг xml
7 сообщений из 7, страница 1 из 1
Clob, парсинг xml
    #39547999
Trigger1985
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день, коллеги.

Лог записывается в таблицу Logs в реальном времени, xml в clob поле. xml 10-50 КБ. Интенсивность точно не помню, путь будет 10 в секунду.

Требуется найти сообщения с определенными значениями полей xml
сейчас делается так:
Код: plsql
1.
2.
select l.* from logs l where 
DBMS_LOB.INSTR(l.xml, 'word1')>0;



требуется
1.Поиск сразу по несколько значений, причем количество неизвестно (может быть 2, может быть 10) т.е. как то объединить с In.
2.Добавить в результат значение определенного атрибута.
По идеи через
Код: plsql
1.
SELECT extractvalue(XmlType.CreateXml(cursor(select 'word' T from dual)), '/ROWSET/ROW/T') t FROM DUAL;


но мне не удалось совместить с исходным запросом.

p.s.Запросы выполняются очень медленно, если ограничить последним днем, то где то секунд 50.
Код: plsql
1.
where l.xmldate >= sysdate -1


Что работает быстрее?
Код: plsql
1.
2.
3.
DBMS_LOB.INSTR(l.xml, 'word1')>0;
--или
l.xml like '%word1%'
...
Рейтинг: 0 / 0
Clob, парсинг xml
    #39548002
Фотография Sayan Malakshinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
...
Рейтинг: 0 / 0
Clob, парсинг xml
    #39549023
Trigger1985
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
xtender,

что вы имеете в виду? Где по ссылке инфа как в результат добавить значение атрибута?
...
Рейтинг: 0 / 0
Clob, парсинг xml
    #39557963
Trigger1985
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Разобрался
http://sqlfiddle.com/#!4/27e2f/49/0

Осталось сравнить по скорости

Что быстрее:
Код: plsql
1.
EXTRACTVALUE(xmltype(xml), '/hello-world/word')


или
Код: plsql
1.
 XMLTYPE(t.xml).EXTRACT('///hello-world/word/text()').getStringVal()
...
Рейтинг: 0 / 0
Clob, парсинг xml
    #39558627
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Trigger1985,

Проще говоря, проигнорировал удочку, потому что не читал, и теперь сравниваешь двух пойманных кем-то рыб, не имеющих отношения к твоей исходной задаче.

Твой вопрос звучит так: Что быстрее брать каждый мешок картошки в фуре и вытаскивать картошку по одной для поиска картошки в форме бояна или также брать каждый мешок с картошкой и по одной картошку для поиска в бояна форме вытаскивать?

А предложенный способ получить список мешков, содержащих картошку в форме бояна с точностью до расположения каждой картофелины проигнорирован как "не читал".
...
Рейтинг: 0 / 0
Clob, парсинг xml
    #39558636
Фотография Sayan Malakshinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Trigger1985,

Во-первых, xml надо хранить в столбцах с типом xmltype, a не clob.
Во-вторых, если будете правильно хранить как xmltype, то его очень легко проиндексировать и ваш поиск будет быстрым. Примеры найдете по вышеприведенной ссылке
...
Рейтинг: 0 / 0
Clob, парсинг xml
    #39559141
Sah
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я у себя сделал отдельную таблицу, куда по тригеру вставляю наиболее значимые для поиска значения из распарсенного XML.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Clob, парсинг xml
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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