Questions marquées «execution-plan»

Stratégie sélectionnée par l'optimiseur de requêtes pour traiter une requête.


4
Index Seek vs Index Scan
En regardant un plan d'exécution d'une requête à exécution lente, j'ai remarqué que certains des nœuds sont à la recherche d'index et que certains d'entre eux sont des analyses d'index. Quelle est la difference entre and index search et un scan d'index? Qui fonctionne mieux? Comment SQL choisit-il l'un sur …

3
Mémoire mémoire de tri excessive
Pourquoi cette requête simple bénéficie-t-elle tant de mémoire? -- 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
Optimiser les plans avec des lecteurs XML
Exécution de la requête à partir d'ici pour extraire les événements d'interblocage de la session d'événements étendus par défaut 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 …



3
Pourquoi SQL Server utilise-t-il un meilleur plan d'exécution lorsque j'inline la variable?
J'ai une requête SQL que j'essaie d'optimiser: 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 a deux index: CREATE NONCLUSTERED INDEX IX_MyTable_SomeTimestamp_Includes ON dbo.MyTable (SomeTimestamp ASC) INCLUDE(Id, SomeInt) CREATE NONCLUSTERED INDEX IX_MyTable_Id_SomeBit_Includes ON dbo.MyTable (Id, …

1
SQL Server 2014: une explication pour une estimation de cardinalité auto-jointe incohérente?
Considérez le plan de requête suivant dans SQL Server 2014: Dans le plan de requête, une auto-jointure ar.fId = ar.fIddonne une estimation de 1 ligne. Cependant, il s'agit d'une estimation logiquement incohérente: ara des 20,608lignes et une seule valeur distincte de fId(reflétée avec précision dans les statistiques). Par conséquent, cette …

3
L'index sur la colonne calculée persistante nécessite une recherche de clé pour obtenir les colonnes dans l'expression calculée
Cette question a été migrée à partir de Stack Overflow car il est possible d'y répondre sur Database Administrators Stack Exchange. Migré il y a 6 ans . J'ai une colonne calculée persistante sur une table qui est simplement constituée de colonnes concaténées, par exemple CREATE TABLE dbo.T ( ID …



1
D'où viennent ce balayage constant et cette jointure externe gauche dans un plan de requête SELECT trivial?
J'ai ce tableau: 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 Cette requête: DECLARE @result UNIQUEIDENTIFIER SELECT @result = AccountId FROM Accounts WHERE AccountId='guid-here' s'exécute avec un plan de requête composé d'une …

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.