Quero melhorar o desempenho da consulta var dbObj = dbSet.Where(x => x.Name == name).FirstOrDefault();
feita na tabela colada abaixo. Eu estava pensando em adicionar um índice em [Name]
. Que tipo de índice devo usar se não precisar da capacidade de consultar substrings?
CREATE TABLE [dbo].[TitleTypes] (
[Id] INT IDENTITY (1, 1) NOT NULL,
[Name] VARCHAR (MAX) NOT NULL,
SysStartTime DATETIME2 GENERATED ALWAYS AS ROW START NOT NULL,
SysEndTime DATETIME2 GENERATED ALWAYS AS ROW END NOT NULL,
PERIOD FOR SYSTEM_TIME (SysStartTime,SysEndTime),
CONSTRAINT [PK_TitleTypes] PRIMARY KEY CLUSTERED ([Id] ASC)
)
WITH (SYSTEM_VERSIONING = ON (HISTORY_TABLE = dbo.[TitleTypesHistory]));
Estou analisando a pesquisa de texto completo, que requer a criação de um catálogo. Se eu entendi minha pesquisa corretamente, isso beneficiaria muito alguém que precisa pesquisar substrings no texto, o que não é o caso aqui. Em vez disso, eu esperava algo como um índice de um binário de strings para tornar mais rápido determinar se minha string de pesquisa está contida na coluna.