2017-02-17 99 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