Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 872567
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 15, 20262026-05-15T10:48:07+00:00 2026-05-15T10:48:07+00:00

There is the following code: declare @XmlData xml = ‘<Locations> <Location rid=1/> </Locations>’ declare

  • 0

There is the following code:

declare @XmlData xml =
'<Locations>
<Location rid="1"/>
</Locations>'

declare @LocationList table (RID char(32));
insert into @LocationList(RID)
select Location.RID.value('@rid','CHAR(32)') 
from @XmlData.nodes('/Locations/Location') Location(RID)

insert into @LocationList(RID)
select A2RID from tblCdbA2

Table tblCdbA2 has 172810 rows.

I have executed the batch in SSMS with “Include Actual execution plan “ and having Profiler running.

The plan shows that the first query cost is 88% relative to the batch and the second is 12%, but the profiler says that durations of the first and second query are 17ms and 210 ms respectively, the overall time is 229, which is not 12 and 88.. What is going on?
Is there a way how I can determine in the execution plan which is the slowest part of the query?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-15T10:48:08+00:00Added an answer on May 15, 2026 at 10:48 am

    Duration != cost.

    Cost includes other factors, such as creating and freeing objects (like your XML Read with XPath filter), memory usage, writes, reads, temp table access, etc.

    Edit:

    Look at your Execution Plan, and hover over the parts that “cost” the most. In your case, it “costs” the server (in compile time, cpu time, memory time, etc) the most for creating and executing the XML Reader and filter table valued function.

    Another thing to try is to use your SQL Server Profiler, and monitor the events “Showplan All”, and “Showplan XML”. You can get the same views as the Execution Plan by clicking on the “Showplan XML” event in the profiler, and get extra details by clicking on the “Showplan All” event.

    Here’s a good article that discusses these events:

    Capturing Graphical Query Plans with SQL Server Profiler

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Hi there im using the following code for insert text and images, but I
Is there any difference to the following code: class Foo { inline int SomeFunc()
Is there any performance penalty for the following code snippet? for (int i=0; i<someValue;
Is there a way to tidy-up the following code, rather than a series of
I have the following code that won't compile and although there is a way
I have several blocks of the following code that each use there own matrix.
I have been told that there is a performance difference between the following code
I have three images and using the following code I have then fade in
I understand the following elements : there is some sort of crawling (configured in
I have the following situation: There is a tool that gets an XSLT from

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.