3
我在想,我可以通過XML類型列的節點來查詢ORDER BY嗎?SQL Server:按XML列的節點排序
例如我有一個表
ID(int)| |數據(XML)
在數據列中存儲XML形式類似於此
<?xml?>
<Data>
<SimpleOrderedValue>1</SimpleOrderedValue>
<ComplicatedInternals>
...
</ComplicatedInternals>
</Data>
我想查詢此表由SimpleOrderedValue排序。我可以使用XML列在MS SQL Server 2008上執行此操作嗎?或者我可以使用CLR UDT來完成任務,但不需要額外的計算列,並且可以使Data列進行索引(以便更快地搜索)。
將不勝感激任何幫助。 謝謝。
感謝Alex,如果我在where子句中使用這個表達式,它會使用索引嗎? – 2010-05-31 13:56:13
它應該這樣做,因爲XML只在ORDER BY中解析,所以它應該使用索引進行SELECT選擇,然後對結果進行排序,如果您查看可以查看的查詢計劃。 – 2010-06-02 09:51:14
您可以創建XML索引:http://msdn.microsoft.com/en-us/library/ms191497.aspx – dyesdyes 2014-10-16 15:18:02