• I just tried the "select top 1" vs "select count(*)" and indeed "select top 1" produced poorer stats.

    if exists (select count(*) from DimCandidates )

    print 'here'

    SQL Server parse and compile time:

    CPU time = 0 ms, elapsed time = 0 ms.

    SQL Server Execution Times:

    CPU time = 0 ms, elapsed time = 0 ms.

    here

    SQL Server Execution Times:

    CPU time = 0 ms, elapsed time = 0 ms.

    if exists (select top 1 CandidateKey from DimCandidates )

    print 'here'

    SQL Server parse and compile time:

    CPU time = 3 ms, elapsed time = 3 ms.

    Table 'DimCandidates'. Scan count 1, logical reads 2, physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.

    SQL Server Execution Times:

    CPU time = 0 ms, elapsed time = 0 ms.

    here

    SQL Server Execution Times:

    CPU time = 0 ms, elapsed time = 0 ms.