我正在用XML创建一个迷你数据库,基本上人们只能读取并找到一些数据。数据集=>的混合自定义XML =>用户通过C#=>读取只读XML数据excel加载项。
当我这样做时,我通常使用非常简单的XML文件,但我想知道是否创建了一个chema
<Myshema:table name="">
<Myshema:TimeSerie ID=""/>
</Myshema:table>
架构会在文件中更快地找到数据吗?
谢谢,
答案 0 :(得分:1)
原则上是,但这取决于数据和架构以及引擎。模式向数据库引擎提供有关数据在文档中的位置和方式的附加信息,并且在优化查询执行时可以利用此信息。发动机可以不同地优化(或不)。
例如,如果要在XML文档集合中查找名为<foo/>
的所有元素
collection("my-collection")//foo
并且你有一个模式告诉你这个元素只出现在文档的第一个,而且恰好一次,然后数据库引擎可以在找到foo
元素后优化并停止阅读文档。
但请注意,架构也会在写入时间或读取时间上造成更多负担,因为需要根据它来验证文档。