2017-02-17 25 views
1

私はXMLでミニDBを作成しています。基本的には読者が読んでデータを見つけることができます。 DataTable =>カスタムXML =>ユーザーが読み込み専用のXMLデータをC#=>> excelアドインで読み込みます。XMLスキーマは読み込みを高速化しますか?

私はこれを行うとき、私は通常、非常に単純なXMLファイルを使用しますが、

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

chemaを作成する場合、私は思っていたスキーマは、ファイル内のより高速なデータを見つけることになるだろうか?

は、原則的に

答えて

1

はい、ありがとうございますが、それは、データとスキーマに、エンジンに依存します。スキーマは、データが文書内のどこにどのように格納されているかに関する追加情報をデータベースエンジンに提供します。この情報は、クエリの実行を最適化するときに活用できます。エンジンは、異なる方法で最適化(または変更)できません。例えば

、あなたはXML文書

collection("my-collection")//foo 

のコレクション内の<foo/>という名前のすべての要素を探している、あなたは、この要素だけ正確に一度文書で最初に来る、とことを示していますスキーマを持っている場合データベースエンジンは、foo要素を見つけた後、ドキュメントの最適化と読み取りを停止できます。

しかし、スキーマは、書き込み時または読み取り時にドキュメントを検証する必要があるため、スキルがさらに大きな負担をかけることに注意してください。

+0

ありがとう、私はそこに多くの魔法がないと思います。私がドキュメントを作成して読んでいる唯一の人なので、私は簡単なバニラシンプルな自家製のXMLに固執します。私はXML.linq btwを使用しています。 – Yoyo

関連する問題