2017-02-17 11 views
1

Я создаю мини-DB в XML, где в основном люди могут читать только и находить некоторые данные. mix of Datatable => пользовательский XML => пользователь, читаемый в readonly XML Data через C# => excel add-in.Считывает ли XML-схему быстрее?

Я обычно использую очень простой файл XML, когда я делаю это, но мне было интересно, если создание Чема

<Myshema:table name=""> 
    <Myshema:TimeSerie ID=""/> 
</Myshema:table> 

Будет ли схема сделает найти данные быстрее в файле?

Спасибо,

ответ

1

Да в принципе, но это зависит от данных и схемы, и на двигателе. Схема дает дополнительную информацию движку базы данных о том, где и как данные лежат в документе, и эта информация может быть использована при оптимизации выполнения запроса. Двигатели могут оптимизировать (или нет) по-разному.

Например, если вы ищете для всех элементов, названных <foo/> в коллекции XML-документов

collection("my-collection")//foo 

и у вас есть схема, которая говорит вам, что этот элемент только приходит первым в документе, и только один раз , то механизм базы данных может оптимизировать и прекратить чтение документов после нахождения элемента foo.

Обратите внимание, однако, что схема может также возлагать больше бремени на время записи или время чтения, поскольку для этого необходимо проверить документы.

+0

Спасибо, я думаю, там не так много волшебства. Поскольку я единственный, кто создает и читает документ, я буду придерживаться простого простого в использовании ванильного домашнего XML. Я использую XML.linq btw. – Yoyo