내 회사의 "연락처"테이블에 필드가 있습니다. 이 테이블에는 XML 형식 열이 있습니다. 이 열은 특정 연락처에 대한 기타 데이터를 보유합니다. EG. contact
다음SQLServer 2005에서 XML 열 쿼리
<contact>
<refno>123456</refno>
<special>a piece of custom data</special>
</contact>
태그는 각 연락처 다를 수 있습니다, 내가 같은 테이블에있는 관계형 데이터 열 함께 이러한 조각을 를 조회해야합니다.
SELECT c.id AS ContactID,c.ContactName as ForeName,
c.xmlvaluesn.value('(contact/Ref)[1]', 'VARCHAR(40)') as ref,
INNER JOIN ParticipantContactMap pcm ON c.id=pcm.contactid
AND pcm.participantid=2140
WHERE xmlvaluesn.exist('/contact[Ref = "118985"]') = 1
이 방법은 작품을 좋아하지만, 그것은 서버가 응답 할 수있는 시간이 걸립니다 :
내가 좋아하는 구조를 사용했다. 노드() 함수를 사용하여 XML 노드를 구문 분석하고 exists()를 사용하여 노드가 검색중인 값을 보유하고 있는지 테스트했습니다.
누구든지 XML 열을 쿼리하는 더 나은 방법을 알고 있습니까 ??
내가 XML을 BLOB 열 작업을위한 최상의 도움이 MSDN의 XML을 발견했습니다
시간이 많이 걸리므로 서버가 응답하는 데 오래 걸리거나 쿼리를 작성하는 데 많은 시간이 필요합니까? – Espo
나는 서버가 결과로 복귀 할 때까지 오랜 시간이 걸린다는 것을 의미합니다. – nialljsmith