May 26, 2013 at 9:27 am
i have a large xml file
one of my queries looks like:
SELECT
p.value('(PodactID)[1]', 'nvarchar(max)'),
q.value('(CustomerID)[1]', 'nvarchar(max)'),
r.value('(IsPaid)[1]', 'int'),
r.value('(Payment)[1]', 'real'),
r.value('(PaymentDate)[1]', 'nvarchar(max)')
FROM XmlTable CROSS APPLY XML_DATA.nodes('Customers/Customer/Podact/PodactBills/PodactsBill') t(p)
CROSS APPLY p.nodes('Payments/PaymentDetails[CustomerID]') a(q)
CROSS APPLY r.nodes('PaymentsDetails[IsPaid]') b(r)
how can i improve the query duration, because it takes lot of time?
thanks
May 28, 2013 at 10:31 am
Process large xml in chunks.
May 28, 2013 at 1:05 pm
any idea how to divide the xml to chunks?
May 28, 2013 at 4:25 pm
Do you really need your PodactID, CustomerID and PaymentDate to be nvarchar(MAX) data types? I doubt it - use the correct data type for these.
When you query an element value, do it like this : '(mynode/text())[1]', not this '(mynode)[1]'
What is going on with those cross apply clauses ? r.nodes is invalid here as the only "r" declared is the result of the r.nodes clause!!
How many rows are in your table? How big is each XML_DATA value? Do you have suitable indexes and a WHERE clause?
MM
select geometry::STGeomFromWKB(0x0106000000020000000103000000010000000B0000001000000000000840000000000000003DD8CCCCCCCCCC0840000000000000003DD8CCCCCCCCCC08408014AE47E17AFC3F040000000000104000CDCCCCCCCCEC3F9C999999999913408014AE47E17AFC3F9C99999999991340000000000000003D0000000000001440000000000000003D000000000000144000000000000000400400000000001040000000000000F03F100000000000084000000000000000401000000000000840000000000000003D0103000000010000000B000000000000000000143D000000000000003D009E99999999B93F000000000000003D009E99999999B93F8014AE47E17AFC3F400000000000F03F00CDCCCCCCCCEC3FA06666666666FE3F8014AE47E17AFC3FA06666666666FE3F000000000000003D1800000000000040000000000000003D18000000000000400000000000000040400000000000F03F000000000000F03F000000000000143D0000000000000040000000000000143D000000000000003D, 0);
Viewing 4 posts - 1 through 3 (of 3 total)
You must be logged in to reply to this topic. Login to reply
This website stores cookies on your computer.
These cookies are used to improve your website experience and provide more personalized services to you, both on this website and through other media.
To find out more about the cookies we use, see our Privacy Policy