Perguntas com a marcação «execution-plan»

A estratégia selecionada pelo otimizador de consulta para processar uma consulta.



3
Concessão excessiva de memória de classificação
Por que essa consulta simples recebe tanta memória? -- Demo table CREATE TABLE dbo.Test ( TID integer IDENTITY NOT NULL, FilterMe integer NOT NULL, SortMe integer NOT NULL, Unused nvarchar(max) NULL, CONSTRAINT PK_dbo_Test_TID PRIMARY KEY CLUSTERED (TID) ); GO -- 100,000 example rows INSERT dbo.Test WITH (TABLOCKX) (FilterMe, SortMe) SELECT …




2
Otimizando planos com leitores XML
Executando a consulta daqui para extrair os eventos de deadlock da sessão de eventos estendidos padrão SELECT CAST ( REPLACE ( REPLACE ( XEventData.XEvent.value ('(data/value)[1]', 'varchar(max)'), '<victim-list>', '<deadlock><victim-list>'), '<process-list>', '</victim-list><process-list>') AS XML) AS DeadlockGraph FROM (SELECT CAST (target_data AS XML) AS TargetData FROM sys.dm_xe_session_targets st JOIN sys.dm_xe_sessions s ON s.address …



3
Por que o SQL Server usa um plano de execução melhor quando inline a variável?
Eu tenho uma consulta SQL que estou tentando otimizar: DECLARE @Id UNIQUEIDENTIFIER = 'cec094e5-b312-4b13-997a-c91a8c662962' SELECT Id, MIN(SomeTimestamp), MAX(SomeInt) FROM dbo.MyTable WHERE Id = @Id AND SomeBit = 1 GROUP BY Id MyTable possui dois índices: CREATE NONCLUSTERED INDEX IX_MyTable_SomeTimestamp_Includes ON dbo.MyTable (SomeTimestamp ASC) INCLUDE(Id, SomeInt) CREATE NONCLUSTERED INDEX IX_MyTable_Id_SomeBit_Includes ON …

1
SQL Server 2014: alguma explicação para estimativa inconsistente de cardinalidade de junção automática?
Considere o seguinte plano de consulta no SQL Server 2014: No plano de consulta, uma união automática ar.fId = ar.fIdgera uma estimativa de 1 linha. No entanto, essa é uma estimativa logicamente inconsistente: arpossui 20,608linhas e apenas um valor distinto de fId(refletido com precisão nas estatísticas). Portanto, essa junção produz …

3
O índice na coluna Persisted Computed precisa de pesquisa de chave para obter colunas na expressão computada
Esta pergunta foi migrada do Stack Overflow porque pode ser respondida no Database Administrators Stack Exchange. Migrou há 6 anos . Eu tenho uma coluna computada persistente em uma tabela que é simplesmente composta de colunas concatenadas, por exemplo CREATE TABLE dbo.T ( ID INT IDENTITY(1, 1) NOT NULL CONSTRAINT …



1
De onde vêm esse Constant Scan e Left Outer Join em um plano trivial de consulta SELECT?
Eu tenho esta tabela: CREATE TABLE [dbo].[Accounts] ( [AccountId] UNIQUEIDENTIFIER UNIQUE NOT NULL DEFAULT NEWID(), -- WHATEVER other columns ); GO CREATE UNIQUE CLUSTERED INDEX [AccountsIndex] ON [dbo].[Accounts]([AccountId] ASC); GO Esta consulta: DECLARE @result UNIQUEIDENTIFIER SELECT @result = AccountId FROM Accounts WHERE AccountId='guid-here' executa com um plano de consulta que …

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.