Aracılığıyla paylaş


küme SHOWPLAN_XML (Transact-SQL)

Neden oluyor SQL Server değil yürütmek Transact-SQL ifadeler. Bunun yerine, SQL Server iyi tanımlanmış bir XML belgesinin formunda yürütülecek ifadeleri nasıl kullanacağınız hakkında ayrıntılı bilgi verir

Topic link iconTransact-SQL sözdizimi kuralları

SET SHOWPLAN_XML { ON | OFF }

Remarks

küme SHOWPLAN_XML ayarını ayarlayın yürütmek veya saat ve çözümleme saat değil.

küme SHOWPLAN_XML, AÇıK olduğunda SQL Server her biri için yürütme planı bilgilerini döndürür deyim olmadan, yürütme ve Transact-SQL s deyim yürütülmez. Sonra bu seçeneği yürütme planı bilgi ON, tüm sonraki ayarlandı Transact-SQL ifadeleri döndürülen kadar bu seçeneği KAPALı olarak küme. Örneğin, küme SHOWPLAN_XML, AÇıK olduğu sırada bir CREATE TABLE deyim yürütüldüğünde SQL Server aynı o tabloyu içeren bir sonraki deyim döndürür hata iletisi, belirtilen tablo yok. Bu nedenle, bu tablonun sonraki başvurular başarısız.küme SHOWPLAN_XML, KAPALı olduğunda SQL Server ifadeleri, raporu oluşturmadan çalıştırır.

küme SHOWPLAN_XML çıktı olarak dönmek için tasarlanmıştır nvarchar(max) gibi uygulamalar için Sqlcmd yardımcı programı, burada XML çıktı, daha sonra görüntülemek ve sorgu planı bilgileri işlemek için başka araçlar tarafından kullanılır.

Not

dinamik yönetim görünümü sys.dm_exec_query_plan, içinde küme gösterim planı XML aynı bilgileri verir...xml Veri Türü. Bu bilgileri tarafından döndürülen query_plan sütunsys.dm_exec_query_plan.Daha fazla bilgi için bkz:sys.dm_exec_query_plan (Transact-SQL).

küme SHOWPLAN_XML içinde saklı bir yordam belirtilemez.Bu, tek toplu iş iş işlemindeki deyim olmalıdır.

küme SHOWPLAN_XML bilgi kümesi XML belgeleri olarak verir.Her toplu iş iş küme SHOWPLAN_XML ON deyimini, tek bir belge çıktıda yansıtılır sonra.Her belge tarafından yürütme adımları ayrıntılarını ve ardından toplu iş, tablolarda metnini içerir.Tahmini maliyetleri, satır numaralarını, dizinler, erişilen ve işleç türlerini gerçekleştirilen birleştirmek sırasıyla çalıştırılması hakkında daha fazla bilgi için plan yapar, belgeyi gösterir.

küme SHOWPLAN_XML tarafından XML çıktısı için XML şemasını içeren belgeyi Kurulum sırasında yerel bir bilgisayarda hangi Microsoft dizine kopyalanır SQL Server yükler. Sürücüyü içeren bulunabilir SQL Server yükleme dosyalarını, saat:

\Microsoft SQL Server\90\Tools\Binn\schemas\sqlserver\2004\07\gösterim planı\showplanxml.xsd

gösterim planı şema ayrıca şu adreste bulunabilir Bu Web sitesi.

Not

If Fiili yürütme planı içerir. seçildiSQL Server Management Studio, bu küme seçenek XML gösterim planı çıkışı üretir. Açık Fiili yürütme planı içerir. düğmesini, kullanmadan önce bu seçeneği küme.

İzinler

küme SHOWPLAN_XML kullanmak için küme SHOWPLAN_XML yürütüldüğü ifadeyi çalıştırmak için yeterli izinlere sahip ve başvurulan nesne içeren tüm veritabanları için gösterim planı izniniz olmalıdır.

SELECT, INSERT, UPDATE veya DELETE ÇALıŞTıRıLAMADı için stored_procedureve ÇALıŞTıRıLAMADı user_defined_function bir kullanıcı gösterim planı üretmek için ifadeler, gerekir:

  • Yürütmek için uygun izinlere sahip Transact-SQL ifadeler.

  • Nesne tarafından başvuruda bulunulan içeren tüm veritabanları üzerinde gösterim planı izninizin Transact-SQL ifadeleri, tablolar, görünümler vb. gibi.

Tüm diğer tablolar için DDL, USE gibi database_nameDECLARE dinamik SQL ve benzeri yürütmek için yalnızca uygun izinlere küme Transact-SQL ifadeleri gereklidir.

Daha fazla bilgi için bkz: gösterim planı güvenlik ve gösterim planı izin ve Transact-SQL toplu işlemleri.

Örnekler

Izleyen iki ifadeyi biçimini göstermek için bu küme SHOWPLAN_XML ayarları kullanın. SQL Server çözümler ve sorgularda dizinleri kullanımını en iyi duruma getirir.

Ilk sorgunun WHERE yan tümce dizinlenmiş bir sütunda eşit karşılaştırma işleç (=) kullanır.Ikinci sorguyu, WHERE yan tümcesinde LIKE işlecini kullanır.Bu zorlar. SQL Server Kümelenmiş dizin tarama kullanın ve WHERE yan tümcesinde koşul olarak toplantı verileri bulmak için. Değerler EstimateRows and the EstimatedTotalSubtreeCost öznitelikleri çok daha hızlı işlenir ve dizinlenmemiş sorgu daha az kaynak kullanır ilk dizinlenmiş sorgu daha küçüktür.

USE AdventureWorks;
GO
SET SHOWPLAN_XML ON;
GO
-- First query.
SELECT EmployeeID 
FROM HumanResources.Employee
WHERE NationalIDNumber = '509647174';
GO
-- Second query.
SELECT EmployeeID, ContactID 
FROM HumanResources.Employee
WHERE Title LIKE 'Production%';
GO
SET SHOWPLAN_XML OFF;