«execution-plan» etiketlenmiş sorular

Bir sorguyu işlemek için sorgu optimize edici tarafından seçilen strateji.


4
Index Seek vs Index Scan
Yavaş çalışan bir sorgu yürütme planına baktığımda, bazı düğümlerin indeks arayışı ve bazılarının indeks taraması olduğunu fark ettim. İndeks arama ve indeks taraması arasındaki fark nedir? Hangisi daha iyi performans gösterir? SQL, birini diğerinden nasıl seçer? Bunun 3 soru olduğunun farkındayım, ancak ilkini cevaplamanın diğerlerini açıklayacağını düşünüyorum.

3
Aşırı sıralama belleği desteği
Neden bu basit sorguya çok fazla bellek verildi? -- 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 …

3
Parametre Sniffing vs VARIABLES vs Recompile vs OPTIMIZE FOR UNKNOWN
Bu yüzden bu sabah sorunlara neden olan uzun bir proc vardı (30 sn + çalışma süresi). Parametre koklamanın suçlu olup olmadığını kontrol etmeye karar verdik. Böylece, proc'u yeniden yazdık ve gelen parametreleri parametrelerin koklamasını engellemek için değişkenlere ayarladık. Denenmiş / gerçek bir yaklaşım. Bam, sorgu süresi düzeldi (1 saniyeden az). …

3
Uygulama Planı Temelleri - Karma Eşleme Karışıklık
İcra planlarını öğrenmeye başlıyorum ve bir karma eşlemenin tam olarak nasıl çalıştığını ve neden basit bir katılımla kullanılacağı konusunda kafam karıştı: select Posts.Title, Users.DisplayName From Posts JOIN Users on Posts.OwnerUserId = Users.Id OPTION (MAXDOP 1) Anladığım kadarıyla Top index taramasının sonuçları hash hale gelir ve alt Index kümelenmiş taramasındaki her …

2
TOP bir uygulama planını nasıl (ve neden) etkiler?
Optimize etmeye çalıştığım orta derecede karmaşık bir sorgu için, TOP nmaddeyi kaldırmanın yürütme planını değiştirdiğini fark ettim . Bir sorgu TOP nveritabanı altyapısını içerdiğinde , TOPmaddeyi yok sayarak sorguyu çalıştıracağını ve daha sonra sadece istenen sonucu n sayısı için belirlenen sonucu küçülteceğini tahmin edecektim . Grafik yürütme planı, durumun - …

2
XML okuyucularla planları optimize etme
Yürütülmesi buradan sorgu varsayılan genişletilmiş olaylar oturumun dışarı çıkmaz olaylarını çekmeye 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 = st.event_session_address WHERE [name] = …



3
Neden değişkeni satır içi yaparken SQL Server daha iyi bir yürütme planı kullanıyor?
Optimize etmeye çalıştığım bir SQL sorgusu var: 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 iki dizin var: 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: tutarsız öz katılım kardinalite tahmini için herhangi bir açıklama?
SQL Server 2014'te aşağıdaki sorgu planını göz önünde bulundurun: Sorgu planında, bir birleştirme ar.fId = ar.fIdbir 1 satır tahmini verir. Bununla birlikte, bu bir mantıksal tutarsız tahmindir: arsahip 20,608satır ve tek bir ayrı değer fId(doğru istatistik yansıtılır). Bu nedenle, bu birleştirme, satırın ( ~424MMsatırların) tam çarpımını üreterek sorgunun birkaç saat …

3
Persisted Computed sütununda dizin, hesaplanan ifadede sütunları almak için anahtar arama gerektiriyor
Bu soru, Veriyolu Yöneticileri Yığın Değişimi üzerinden yanıtlanabileceği için Yığın Taşması'ndan geçirilmiştir . 6 yıl önce göç etmiş . Birleştirilmiş bir hesaplanmış sütun var, basitçe birleştirilmiş sütunlardan oluşan bir masada. CREATE TABLE dbo.T ( ID INT IDENTITY(1, 1) NOT NULL CONSTRAINT PK_T_ID PRIMARY KEY, A VARCHAR(20) NOT NULL, B VARCHAR(20) …

1
Kullanıcılara SQL Server SHOWPLAN izni verme riski var mı?
Bu soru, Veriyolu Yöneticileri Yığın Değişimi üzerinden yanıtlanabileceği için Yığın Taşması'ndan geçirilmiştir . 7 yıl önce göç etti . Büyük bir SQL server 2008 veritabanında performans ayarlaması yapıyorum ve BT grubu SHOWPLAN'a izin vermek istemiyor. Geçmişte, "Yürütme Planını Göster", bireysel sorguların ve prosedürlerin performansını anlamak için en etkili yol olmuştur. …


1
Bu Sabit Tarama ve Sol Dış Birleştirme, önemsiz bir SELECT sorgu planında nereden geliyor?
Bu masam var: 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 Bu sorgu: DECLARE @result UNIQUEIDENTIFIER SELECT @result = AccountId FROM Accounts WHERE AccountId='guid-here' beklendiği gibi, tek bir Dizin Aramasından oluşan bir …

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.