Используйте пользу Схема XSD, чтобы создать ряд классов с xsd.exe и использовать XmlSerializer
для создания дерева объектов из XML и наоборот. Если у Вас есть немного ограничений на Вашу модель, Вы могли бы даже попытаться создать прямое отображение между Вами образцовые классы и XML с Xml*Attribute.
существует вводная статья о Сериализации XML на MSDN.
подсказка по Производительности: Построение XmlSerializer
является дорогим. Сохраните ссылку на Ваш XmlSerializer
экземпляр, если Вы намереваетесь анализировать/писать несколько XML-файлов.
В запросе A говорится, что начните с менеджеров отдела продаж, а затем соберите всех их сотрудников. Oracle не «знает», что все сотрудники, возвращенные в качестве запроса, будут в отделе продаж, поэтому он не может использовать эту информацию для сокращения набора данных для работы перед выполнением CONNECT BY .
Запрос B явно сокращает набор данных, над которыми нужно работать, до только тех сотрудников отдела продаж, что Oracle может выполнить перед выполнением CONNECT BY.
Какие индексы у сотрудников? Вам лучше иметь индекс на employeeid. И, вероятно, он у вас есть в результате объявления employeeid в качестве первичного ключа.
Вы также можете повысить производительность с помощью индекса для managerid. Попытайся. Это должно быть сбалансировано с более низкой производительностью при найме новых сотрудников или реорганизации управляющих отношений.