Frage

Während Sie eine Tabelle erstellen, die eine XML-Spalte enthält, bezahle ich auf eine komplexe XML-Schemas-Sammlung .Wenn ich das XML-Schema anlege, habe ich die Möglichkeit, entweder content oder dokument -schlüsselwort zu erwähnen.Letzteres wird sichergestellt, dass die XML-Daten in einer einzelnen Spalte als Dokument gespeichert werden.

Gemäß einem Video-Tutorial speichert der Inhalt die XML-Daten in -fragmenten .

Neben der obigen Anweisung sehe ich nirgendwo hinsichtlich der Verwendung des Keywords content und es ist implikation auf schema & daten.

Ich möchte wissen, wie die Fragmente erstellt und verwaltet werden und ob und wie sie individuell abgefragt werden können.Weiter, wie die Fragmente korreliert sind.Als nächstes, wenn ich die XML-SCHEMA-Kollektion mache, was ist der Aufprall.

Keine korrekte Lösung

Andere Tipps

Ich denke, ich denke, sqlserver 2005 xml ist ziemlich gut dokumentiert.
Inhalt ist die Standardeinstellung und ermöglicht gültige XML. Das Dokument ist spezifischer und bedeutet, dass die XML-Daten, die Sie zu speichern können, nur einen einzigen Knoten der oberen Ebene haben dürfen.

Erstellen: generasacodicetagpre.

Einfügen: generasacodicetagpre.

Wählen Sie: generasacodicetagpre.

... und so weiter. Die Abfragesprache übersteigt mehr oder weniger in einer Teilmenge von XPath 1.0.

Wenn Sie einen XSD ändern, wird er auf Einfügen und Updates geprüft und innerhalb des XML jedes Elements gespeichert. Soweit ich das Dokument verstehe, darf es auch mehrere Schemas für eine Spalte hinzufügen, sodass Einträge auf verschiedene Schemas verweisen können.

edit:
Ok, nachdem ich die spezifischen Teile der Dokumentation gelesen habe, denke ich, ich verstehe, was Ihr Problem ist. Der Referenz ist auf diesem Punkt nicht sehr klar, aber soweit ich verstehe, dass nur Einträge mit einem Nive-Knoten der oberen Ebene an XSD-Schemas gebunden werden können.
Aufgrund der Tatsache, dass XSD-SCHEMAs einen einzigen Knoten der oberen Ebene erfordern, der die verwendete XSD-Datei definiert, ist es nicht möglich, Fragmente, die mehr als ein Top-Level-Element enthalten, zu bestätigen. Ich habe es nicht versucht, aber ich denke, es kann nicht getan werden.
Es scheint jedoch gültig zu sein, eine Inhaltsspalte zu definieren, eine XSD-Spalte zu ändern, und speichern Sie beide, XML mit einem Top-Level-Knoten, der auf die XSD sowie XML-Fragmente verweist, die nur auf Wellverformung überprüft werden. Auf die Fragmente können mit der XPATH-Abfrage-Sprach-Show in der obigen Select-Anweisung aufgerufen werden.
Ich kann Ihnen nicht viel über Leistungsauswirkungen erzählen. Die Referenz erwähnt, dass XSDS inline gespeichert werden, so dass ein zusätzlicher Speicherplatz innerhalb des DB benötigt wird. Die XPath-Anfragen müssen auch ausgeführt werden. Trotz der Tatsache, dass XPath in der Regel ziemlich schnell ist, denke ich, dass es die Performance verringern kann, da er in jeder Zeile ausgeführt werden muss, um das Ergebnis zu erzielen. Um sicher zu sein, dass Sie den Ausführungsplan für Ihre spezifische Abfrage in Abhängigkeit von Größe und Komplexität des gespeicherten XML- als auch der XPath-Expression überprüfen müssen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top