Valor de desempenho de guias de COMB

Jimmy Nilsson discute seu conceito guiado COMBAqui. Esse conceito é popular no NHibernate, entre outros círculos, por seu suposto valor de desempenho sobre os GUIDs padrão, que geralmente são muito mais aleatórios.

No entanto, nos testes, isso não parece ser o caso. Estou esquecendo de algo?

Caso de teste:

Eu tenho uma tabela chamada temp (não uma tabela temporária, apenas uma tabela chamada "temp") com 585.000 linhas nele. Eu tenho uma nova tabela chamada Codes e desejo copiar todos os valores de código de 585.000 da tabela temporária para a tabela de códigos. O teste SQL que eu executei foi:

set statistics time on;

truncate table codes;
DBCC DBREINDEX ('codes', '', 90);

insert into codes (codeid, codevalue)
select newid(), codevalue from temp

truncate table codes;
DBCC DBREINDEX ('codes', '', 90);

insert into codes (codeid, codevalue)
select CAST(CAST(NEWID() AS BINARY(10)) + CAST(GETDATE() AS BINARY(6)) AS UNIQUEIDENTIFIER), codevalue from temp

Desempenho com valores padrão do GUID:

Tempos de Execução do SQL Server: Tempo de CPU = 17250 ms, tempo decorrido = 15735 ms.

(585000 fila (s) afetada)

Desempenho com valores de GUID COMB:

Tempos de Execução do SQL Server: Tempo de CPU = 17500 ms, tempo decorrido = 16419 ms.

(585000 fila (s) afetada)

o que estou perdendo? os valores do GUID COMB resultaram em tempos ligeiramente mais longos, presumivelmente por causa das conversões adicionais. Eu pensei que o ponto era reduzir o tempo de inserção ordenando os GUIDS usando a data dos últimos 6 bytes, mas o ganho de desempenho parece inexistente.

questionAnswers(3)

yourAnswerToTheQuestion