2017-02-17 55 views
1

我正在用XML创建一个小型数据库,基本上人们只能读取并找到一些数据。 Datatable => custom XML =>用户通过C#=> excel插件读取只读XML数据。XML Schema使阅读速度更快吗?

我通常使用非常简单的XML文件,当我这样做,但我想知道如果创建一个CHEMA

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

请问架构使查找该文件中的数据更快吗?

谢谢

回答

1

是原则,但它取决于数据和模式,并在发动机上。模式为数据库引擎提供了关于数据在文档中的位置和方式的附加信息,并且可以在优化查询执行时利用此信息。发动机可能会优化(或不)。

例如,如果你正在寻找的XML文档

collection("my-collection")//foo 

集合在一个名为<foo/>所有元素,你有一个模式,它会告诉你,这件只有至上一个文档中,并且只出现一次,那么在找到foo元素后,数据库引擎可以优化并停止读取文档。

但是,请注意,模式也可以在写入时间或读取时间带来更多的负担,因为需要根据它来验证文档。

+0

谢谢,我猜这背后并没有多少魔力。由于我是唯一一个创建和阅读文档的人,所以我会坚持使用普通的简单自制XML。我使用XML.linq btw。 – Yoyo