Estratégias para verificar ISNULL em campos varbinary?

No passado, observei um desempenho terrível ao consultar uma coluna varbinária (máx). Compreensível, mas também parece acontecer ao verificar se é nulo ou não, e eu esperava que o mecanismo usasse alguns atalhos.

select top 100 * from Files where Content is null

Eu suspeitaria que é lento porque é

Precisando retirar todo o binário eNão está indexado (o varbinary não pode fazer parte de um índice normal)

Essa questão parece discordar da minha premissa de lentidão aqui, mas pareço ter problemas de desempenho com campos binários várias vezes.

Uma solução possível em que pensei é criar uma coluna computada queé indexado:

alter table Files
add ContentLength as ISNULL(DATALENGTH(Content),0) persisted

CREATE NONCLUSTERED INDEX [IX_Files_ContentLength] ON [dbo].[Files] 
(
    [ContentLength] ASC
)

select top 100 * from Files where ContentLength = 0

Essa é uma estratégia válida? Que outras maneiras existem para consultar com eficiência quando campos binários estão envolvidos?

questionAnswers(2)

yourAnswerToTheQuestion