SQL Server의 XQuery 프로젝션에서 약간의 성능을 얻었습니다. 다음 변환을 작성하는 가장 좋은 방법은 무엇입니까?XQuery 프로젝션 최적화
select DocumentData.query(
'<object type="dynamic">
<state>
<OrderTotal type="decimal">
{fn:sum(
for $A in /object[1]/state[1]/OrderDetails[1]/object/state[1]
return ($A/ItemPrice[1] * $A/Quantity[1]))}
</OrderTotal>
<CustomerId type="guid">
{xs:string(/object[1]/state[1]/CustomerId[1])}
</CustomerId>
<Details type="collection">
{/object[1]/state[1]/OrderDetails[1]/object}
</Details>
</state>
</object>') as DocumentData
from documents
에 대해 10+ 일이 벌어 조인이,이 코드의 executionplan을 선택하면
(I 코드는 문맥 조금 알고). 구조의 각 수준에 대해 $ var에 사용하도록 이것을 중단해야합니까?
더 컨텍스트를 들어, 이것은 내가 달성하기 위해 노력하고있어입니다 : 내가 작품 매력을 필터링는 "Linq에 XQuery를에 번역기"/ NoSQL에 문서 DB 에뮬레이터를 쓰고 있어요 http://rogeralsing.com/2011/03/02/linq-to-sqlxml-projections/
을, 전망은 고통 perf 문제.
http://msdn.microsoft.com/en-us/lib rary/ms187508 % 28SQL.90 % 29.aspx –
XML 인덱스가 있습니까? –
Yepp, 인덱스가 위치에 있으며, 값/경로/속성 및 기본. xquery 프로젝션이 끔찍한 것처럼 보입니다. –