Pois WITH SAMPLE 50 PERCENT
funciona como se para cada página de dados da tabela o SQL Server viras uma moeda. Se ele cair, então ele lerá todas as linhas da página. Se ele pousar caudas, então não lerá nenhum.
O rastreamento da UPDATE STATISTICS T WITH SAMPLE 50 PERCENT
chamada no Profiler mostra que a seguinte consulta foi emitida
SELECT StatMan([SC0], [SB0000])
FROM (SELECT TOP 100 PERCENT [SC0],
step_direction([SC0]) OVER (ORDER BY NULL) AS [SB0000]
FROM (SELECT [C] AS [SC0]
FROM [dbo].[T] TABLESAMPLE SYSTEM (5.000000e+001 PERCENT)
WITH (READUNCOMMITTED)) AS _MS_UPDSTATS_TBL_HELPER
ORDER BY [SC0],
[SB0000]) AS _MS_UPDSTATS_TBL
OPTION (MAXDOP 1)
Com plano
TABLESAMPLE SYSTEM (5.000000e+001 PERCENT)
é responsável pela amostragem e está documentado aqui
TABLESAMPLE SYSTEM
retorna uma porcentagem aproximada de linhas e gera um valor aleatório para cada página física de 8 KB na tabela. Com base no valor aleatório de uma página e na porcentagem especificada na consulta, uma página é incluída na amostra ou excluída. Cada página incluída retorna todas as linhas no conjunto de resultados de amostra.
A documentação também declara
Embora o plano mostre que uma varredura de tabela é executada, apenas as páginas incluídas no conjunto de resultados precisam ser lidas do arquivo de dados.
A STATMAN
chamada é para uma função agregada interna descrita brevemente aqui