Мы обрабатываем большое количество XML, используя ExtractValue (xml, xpath) и цикл в нашем XML. например ExtractValue (p_xml, concat (xpath, '/ ROOT / TABLE [0] /')),
While (20k)
INSERT INTO select_keys(key)
Values (ExtractValue(p_xml, concat(xpath,'key',[counter])));
End While
Обработка XML в таблице данных становится ужасно медленной, если количество строк превышает тысячи.
CALL `MT_PROC`
(181, 0, '<ROOT></ROOT>', '<ROOT>
<TABLE><keys>f5d29464-e941-4cdf-a21b-984add68dce9</keys></TABLE>
<TABLE><keys>731d23a1-0438-4f72-91a5-83288f6e93b4</keys></TABLE>
<TABLE><keys>c68a4fb8-6306-4728-8b55-f26a151ffad4</keys></TABLE>
<TABLE><keys>3f5ec4bb-2109-4876-a419-b07b553081cc</keys></TABLE>
<TABLE><keys>4689bc20-9eec-4f6b-a454-9a30b7080cc2</keys></TABLE>
<TABLE><keys>466a7da5-7a9e-419f-b1fc-dcd57931a095</keys></TABLE>
....20K rows
</ROOT>')
Каково решение этой проблемы.