Quantcast
Channel: SQL Server Database Engine forum
Viewing all articles
Browse latest Browse all 15264

Execution Plan vs. TIME/IO Statistics vs. Extended Event data

$
0
0

I've ran into an odd issue. I'm looking at the 'actual' execution plans of two different approaches to the same query. It tells me that the first approach is 97% of the cost, and the second is 3% cost relative to the batch. However, running the actual queries with TIME/IO statistics on shows that the cost is really the other way around. Further to that - the TIME/IO statistics show no physical reads, however when I watch the same query execute with an extended event session I get yet another different story.

The queries:

-- Aproach #1
DECLARE @ConversionRunID INT = ( SELECT MAX(conversionrunid)
                                 FROM   admin.ConversionExceptionIt1
                               )

SELECT  TableName ,
        Reason ,
        ColumnName ,
        COUNT(*) AS Records
FROM    admin.ConversionExceptionIt1
WHERE   ConversionRunID = @ConversionRunID
GROUP BY TableName ,
        Reason ,
        ColumnName 

-- Approach #2

SELECT  TableName ,
        Reason ,
        ColumnName ,
        COUNT(*) AS Records
FROM    admin.ConversionExceptionIt1
WHERE   ConversionRunID = ( SELECT  MAX(conversionrunid)
                            FROM    admin.ConversionExceptionIt1
                          )
GROUP BY TableName ,
        Reason ,
        ColumnName 


The execution plans:

And the extended event information:

I'm wondering how the execution plan cost can be so wrong, and why the extended event statistics show physical reads when the IO statistics do not.



Viewing all articles
Browse latest Browse all 15264

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>