Ekinlikler
31 Mar 23 - 2 Nis 23
En büyük SQL, Fabric ve Power BI öğrenme etkinliği. 31 Mart – 2 Nisan. 400 ABD doları tasarruf etmek için FABINSIDER kodunu kullanın.
Bugün kaydolunBu tarayıcı artık desteklenmiyor.
En son özelliklerden, güvenlik güncelleştirmelerinden ve teknik destekten faydalanmak için Microsoft Edge’e yükseltin.
Şunlar için geçerlidir:SQL Server
Azure SQL Veritabanı
Azure SQL Yönetilen Örneği
Azure Synapse Analytics (yalnızca ayrılmış SQL havuzu)
Microsoft Fabric
Warehouse'da SQL analiz uç noktası
SQL Server'ın Transact-SQL deyimlerini yürütmemesine neden olur. Bunun yerine SQL Server, deyimlerin iyi tanımlanmış bir XML belgesi biçiminde nasıl yürütüleceğini gösteren ayrıntılı bilgiler döndürür.
Doku Veri Ambarı ve SQL analiz uç noktasında SET SHOWPLAN_XML bir önizleme özelliğidir.
Transact-SQL söz dizimi kuralları
SET SHOWPLAN_XML { ON | OFF }
SET SHOWPLAN_XML ayarı, ayrıştırma zamanında değil yürütme veya çalışma zamanında ayarlanır.
SET SHOWPLAN_XML ON olduğunda, SQL Server her deyimi yürütmeden her deyimin yürütme planı bilgilerini döndürür ve Transact-SQL deyimleri yürütülür. Bu seçenek AÇILDI olarak ayarlandıktan sonra, sonraki tüm Transact-SQL deyimleriyle ilgili yürütme planı bilgileri, seçenek KAPALI olarak ayarlanana kadar döndürülür. Örneğin, SET SHOWPLAN_XML AÇıKken CREATE TABLE deyimi yürütülürse, SQL Server aynı tabloyu içeren bir sonraki SELECT deyiminden bir hata iletisi döndürür; belirtilen tablo yok. Bu nedenle, bu tabloya yapılan sonraki başvurular başarısız olur. SET SHOWPLAN_XML KAPALI olduğunda, SQL Server bir rapor oluşturmadan deyimleri yürütür.
SET SHOWPLAN_XML, sqlcmd yardımcı programı gibi uygulamalar için nvarchar(max) olarak çıkış döndürmek üzere tasarlanmıştır; burada XML çıkışı sorgu planı bilgilerini görüntülemek ve işlemek için diğer araçlar tarafından daha sonra kullanılır.
Not
sys.dm_exec_query_plan
dinamik yönetim görünümü, xml veri türündeki SET SHOWPLAN XML ile aynı bilgileri döndürür. Bu bilgiler sys.dm_exec_query_plan
query_plan
sütunundan döndürülür. Daha fazla bilgi için bkz. sys.dm_exec_query_plan (Transact-SQL).
SET SHOWPLAN_XML saklı yordam içinde belirtilemez. Toplu iş içindeki tek deyim bu olmalıdır.
SET SHOWPLAN_XML bilgileri xml belgeleri kümesi olarak döndürür. SET SHOWPLAN_XML ON deyiminden sonraki her toplu iş tek bir belge tarafından çıktıya yansıtılır. Her belgede toplu iş içindeki deyimlerin metni ve ardından yürütme adımlarının ayrıntıları yer alır. Belgede tahmini maliyetler, satır sayısı, erişilen dizinler ve gerçekleştirilen işleç türleri, birleştirme sırası ve yürütme planları hakkında daha fazla bilgi gösterilir.
Not
SQL Server Management Studio'da Gerçek Yürütme Planı dahil
SSMS ve SET SHOWPLAN_XML aracılığıyla tahmini yürütme planları, Azure Synapse Analytics'teki ayrılmış SQL havuzları (eski adı SQL DW) ve ayrılmış SQL havuzları için kullanılabilir. Azure Synapse Analytics'te ayrılmış SQL havuzları (eski adı SQL DW) ve ayrılmış SQL havuzları için gerçek bir yürütme planı almak için farklı komutlar vardır. Daha fazla bilgi için bkz. DMV'leri kullanarak Azure Synapse Analytics ayrılmış SQL havuzu iş yükünüzü izleme.
SET SHOWPLAN_XML xml çıkışı için XML şemasını içeren belge, kurulum sırasında Microsoft SQL Server'ın yüklü olduğu bilgisayardaki yerel bir dizine kopyalanır. Belge, SQL Server yükleme dosyalarını içeren sürücüde, aşağıdakine benzer bir yolda bulunabilir:
\Microsoft SQL Server\130\Tools\Binn\schemas\sqlserver\2004\07\showplan\showplanxml.xsd
Yukarıdaki yolda, düğüm 130\
SQL Server 2016 tarafından kullanılır. 130 sayısı, 13 olan SELECT @@VERSION
tarafından döndürülen değerin ilk düğümünden türetilir. SQL Server 2017'de, @@VERSION
değerinin ilk düğümü 14 olduğundan yol 140\
kullanır. SQL Server 2019,@@VERSION
ilk değer 15'tir. SQL Server 2022,@@VERSION
ilk değer 16'dır.
Showplan Şeması,
SET SHOWPLAN_XML kullanmak için, SET SHOWPLAN_XML yürütülür deyimlerini yürütmek için yeterli izinlere sahip olmanız ve başvurulan nesneleri içeren tüm veritabanları için SHOWPLAN iznine sahip olmanız gerekir.
SELECT
, INSERT
, UPDATE
, DELETE
, EXEC *stored_procedure*
ve EXEC *user_defined_function*
deyimleri için kullanıcının yapması gereken bir Showplan oluşturmak için:
Transact-SQL deyimlerini yürütmek için uygun izinlere sahip olun.
tablolar, görünümler vb. Transact-SQL deyimleri tarafından başvurulan nesneleri içeren tüm veritabanlarında SHOWPLAN iznine sahip olun.
DDL, USE *database_name*
, SET
, DECLARE
, dinamik SQL gibi diğer tüm deyimler için yalnızca Transact-SQL deyimlerini yürütmek için uygun izinler gereklidir.
Aşağıdaki iki deyim, SQL Server'ın sorgularda dizin kullanımını analiz etme ve iyileştirme şeklini göstermek için SET SHOWPLAN_XML ayarlarını kullanır.
İlk sorgu, dizinli bir sütundaki WHERE yan tümcesinde Eşittir karşılaştırma işlecini (=
) kullanır. İkinci sorgu WHERE yan tümcesinde LIKE işlecini kullanır. Bu, SQL Server'ı kümelenmiş dizin taraması kullanmaya ve WHERE yan tümcesi koşuluna uygun verileri bulmaya zorlar.
EstimateRows
ve EstimatedTotalSubtreeCost
özniteliklerindeki değerler, dizine alınan ilk sorgu için daha küçüktür, bu da çok daha hızlı işlendiğini ve dizine eklenmemiş sorgudan daha az kaynak kullandığını gösterir.
USE AdventureWorks2022;
GO
SET SHOWPLAN_XML ON;
GO
-- First query.
SELECT BusinessEntityID
FROM HumanResources.Employee
WHERE NationalIDNumber = '509647174';
GO
-- Second query.
SELECT BusinessEntityID, JobTitle
FROM HumanResources.Employee
WHERE JobTitle LIKE 'Production%';
GO
SET SHOWPLAN_XML OFF;
Ekinlikler
31 Mar 23 - 2 Nis 23
En büyük SQL, Fabric ve Power BI öğrenme etkinliği. 31 Mart – 2 Nisan. 400 ABD doları tasarruf etmek için FABINSIDER kodunu kullanın.
Bugün kaydolun