• Just some more extra info đŸ™‚

    I was trying to get to the number of columns where both performed equally.. In SSMS, 1 run each, the number was 35 columns output... 600ms..

    But when using SQLQueryStress with 10 iterations and 10 threads with the 35 columns, nodes() completely smashes OPENXML. Total time for nodes() is 41s, for OPENXML 1m:04s... With 1 thread the times are identical...

    With 50 columns (10 it, 10 thrd) OPENXML takes the same time and nodes() takes 1m:11s. But the CPU s/iteration (avg) is for OPENXML 0,65s and nodes() 0,95seg, Actual sec/iteration (avg) OPENXML 5,3s and nodes() 1,65s.... Client sec/iteration (avg) OPENXML 5,41s and nodes() 2,74s.

    These are weird times.. how is it possible for each iteration for OPENXML take longer but the overall is less...

    Can this be a test environment issue?

    Thanks,

    Pedro

    PS:

    SQL Server service priority is set to High... times are completely different if priority is normal..

    With all the columns (100) the times are, for 10 iterations 10 threads:

    OPENXML > CPU: 0,68 Actual: 5.45 Client: 5.54 Total: 1m

    nodes() > CPU: 2s Actual: 6s Client: 8s Total 2m.

    With all the columns (100) the times are, for 5 iterations 5 threads:

    OPENXML > CPU: 0,62 Actual: 0.88 Client: 1.15 Total: 10s

    nodes() > CPU: 2s Actual: 2.34s Client: 3.73s Total 32s



    If you need to work better, try working less...