Pergunto porque este é um recurso mais antigo que descobri recentemente. A documentação menciona DateTime algumas vezes, mas não diz explicitamente que outros tipos de data são compatíveis ou não.
Eu tenho um Data Warehouse que acredito que poderia se beneficiar disso, mas 90% das datas que importam são tipos de data, não DateTime. Estou no SQL 2014, mas informações sobre qualquer versão seriam úteis.
Sim, funciona para ambos
date
edatetime
colunas. O experimento é bastante simples - crie um banco de dados com a opção ativada, crie tabelas com os dois tipos, insira dados que satisfaçam um padrão de correlação (como todas as datas em uma tabela são posteriores às datas na outra tabela), execute algumas consultas que exploram isso padrão e, em seguida, observe que as estatísticas criadas automaticamente são as mesmas para ambos os conjuntos de tabelas.Crie o banco de dados e ative a opção:
Crie duas tabelas com
date
colunas correlacionadas e duas tabelas comdatetime
colunas correlacionadas:Insira alguns dados correlacionados:
Agora execute uma consulta que pode se beneficiar das estatísticas de correlação (embora, na verdade, qualquer junção sirva):
Agora, confira as estatísticas:
Os resultados na minha máquina (os nomes das suas estatísticas variam) mostram que as estatísticas são criadas em
(id, date/datetime column of parent)
e(date/datetime column of child)
:Vou deixar como exercício para o leitor se isso vale para
time
,datetime2
edatetimeoffset
, ou se também funcionará se uma coluna fordate
e a outra fordatetime
.