Possível Duplicação:
Inserção de Índice Não Clusterizado
Estou tentando calcular o custo de ter um índice não clusterizado em uma tabela específica, mas não vejo nenhum custo de manutenção no plano de execução de uma inserção.
A tabela fica assim:
CREATE TABLE [dbo].[ASPStateTempSessions](
[SessionId] [nvarchar](88) NOT NULL,
[Created] [datetime] NOT NULL,
[Expires] [datetime] NOT NULL,
[LockDate] [datetime] NOT NULL,
[LockDateLocal] [datetime] NOT NULL,
[LockCookie] [int] NOT NULL,
[Timeout] [int] NOT NULL,
[Locked] [bit] NOT NULL,
[SessionItemShort] [varbinary](7000) NULL,
[SessionItemLong] [image] NULL,
[Flags] [int] NOT NULL,
PRIMARY KEY CLUSTERED
(
[SessionId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
ALTER TABLE [dbo].[ASPStateTempSessions] ADD DEFAULT (getutcdate()) FOR [Created]
GO
ALTER TABLE [dbo].[ASPStateTempSessions] ADD DEFAULT ((0)) FOR [Flags]
GO
Além de um índice Clustered em [SessionID], ele possui o seguinte índice não clusterizado
/****** Object: Index [Index_Expires] Script Date: 12/14/2012 10:13:58 ******/
CREATE NONCLUSTERED INDEX [Index_Expires] ON [dbo].[ASPStateTempSessions]
(
[Expires] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
Mas quando executo um plano de execução para o seguinte, que atualiza a coluna na qual há um índice não clusterizado:
UPDATE [ASPState].dbo.ASPStateTempSessions
SET Expires = DATEADD(n, Timeout, GETUTCDATE())
WHERE SessionId = '32gghltsuoesnvlzbehchp2m2014c0f1'
RETURN 0
Não vejo nenhuma menção de custo no plano de execução:
É normal não ver? Como posso calcular o custo desse índice em operações de gravação?
Tente gerar um plano real no Plan Explorer .
Para um plano restrito, os custos reais não estão incluídos no XML, portanto, você não os verá, mas pelo menos poderá ver que os índices não agrupados são afetados.
Muito mais informações podem ser encontradas na pergunta duplicada:
Bem como essas postagens de blog que Martin apontou anteriormente: