Il y a le code suivant:Que montre le plan d'exécution SQL Server?
declare @XmlData xml =
'<Locations>
<Location rid="1"/>
</Locations>'
declare @LocationList table (RID char(32));
insert into @LocationList(RID)
select Location.RID.value('@rid','CHAR(32)')
from @XmlData.nodes('/Locations/Location') Location(RID)
insert into @LocationList(RID)
select A2RID from tblCdbA2
Tableau tblCdbA2 a 172810 lignes.
J'ai exécuté le lot dans SSMS avec "Inclure le plan d'exécution réel" et exécuter le profileur. Le plan montre que le coût de la première requête est de 88% par rapport au lot et le second de 12%, mais le profileur indique que les durées des première et deuxième requêtes sont respectivement de 17 ms et de 210 ms, le temps total étant de 229. , ce qui n'est pas 12 et 88 .. Que se passe-t-il? Existe-t-il un moyen de déterminer dans le plan d'exécution quelle est la partie la plus lente de la requête?
grands, mais cela signifie que le coût ne vous dit rien si la requête est mauvaise ou bonne? Et existe-t-il un moyen de déterminer dans le plan d'exécution quelle est la partie la plus lente de la requête? – Tim