Eu sempre entendi que as estatísticas criadas automaticamente pelo SQL Server incluem apenas uma coluna. Em outras palavras, elas não são estatísticas de várias colunas.
No entanto, hoje me deparei com algumas estatísticas criadas automaticamente que têm duas colunas. A segunda coluna é sempre a chave primária da tabela. Existem outras estatísticas criadas automaticamente na mesma tabela que não possuem uma segunda coluna.
auto_created = 1 na tabela sys.stats.
Além disso, algumas estatísticas têm uma convenção de nomenclatura diferente nas mesmas tabelas. Alguns deles têm um nome de coluna no nome da estatística. O que faz o SQL usar uma convenção de nomenclatura diferente? Por exemplo,
- _WA_Sys_BegEffDate_7363C5E4
- _WA_Sys_0000000B_7363C5E4
Estes não estão causando problemas, estou apenas curioso sobre isso.
Passei um bom tempo procurando uma explicação das diferentes convenções de nomenclatura em alguns dos meus próprios bancos de dados e não encontrei nada definitivo.
Dito isto, em ambos os nossos casos estamos lidando com bancos de dados muito antigos que passaram por muitas atualizações ao longo dos anos. Meu melhor palpite é que em algum momento a Microsoft mudou as estatísticas criadas automaticamente para usar um padrão alfanumérico incremental em vez de usar nomes de colunas parciais (algo em torno do SQL Server 2000 ou 2005?). Isso pode ter sido feito para reduzir o potencial de conflitos de nomenclatura ou para lidar melhor com a renomeação de uma coluna.
Eu não vi a chave primária ser adicionada às estatísticas criadas automaticamente, mas isso também pode ser um artefato de uma versão muito antiga.