• The answer does not sound right to me.

    For heaps, there are no page splits, therefore the only counter that gives me the answer for both, indexes & heaps, is the Pages Allocated/sec counter.

    -- CleanUp

    DROP TABLE dbo.Test

    GO

    USE master

    GO

    DROP DATABASE Test

    GO

    SET NOCOUNT ON

    CREATE DATABASE Test

    GO

    USE TEST

    GO

    CREATE TABLE dbo.Test (id TINYINT NOT NULL, String VARCHAR(5000))

    -- Enable or disable the below statement to test for Heap or for Clustered Index

    --CREATE CLUSTERED INDEX idxid ON dbo.test(id)

    -- Insert test data:

    -- The first row will remain on the same page

    -- The second row will be inserted into the first page, but we will update the row later

    -- to a size that does not fit on that page anymore, and therefore will trigger a new page allocation.

    INSERT dbo.Test VALUES (1,REPLICATE('A',5000))

    INSERT dbo.Test VALUES (2,REPLICATE('A',1))

    GO

    -- Pause here for a second or so - we want to measure the Update, not the above inserts.

    -- Now move the record to a new page by increasing the size

    UPDATE dbo.Test SET String = REPLICATE('A',5000) WHERE ID = 2

    GO

    Best Regards,

    Chris Büttner