«optimization» etiketlenmiş sorular

Bir veritabanı bağlamında, optimizasyon, etkin bir fiziksel yürütme planının seçildiği sorgu iyileştirici sürecini ifade eder.



1
SARGable tahminleri ne zaman bir CTE veya türetilmiş tabloya aktarılabilir?
Kum torbası Top Quality Blog Posts® üzerinde çalışırken, gerçekten çıldırtıcı bulduğum bazı optimize edici davranışlarla karşılaştım . Hemen bir açıklamam yok, en azından memnun değilim, bu yüzden akıllı birinin ortaya çıkması durumunda buraya koyuyorum. Takip etmek isterseniz, Yığın Taşması veri dökümünün 2013 sürümünü buradan alabilirsiniz . Bir ek dizin ile …

2
300.000 satır tablosunda çalıştırmak için 11 dakika süren sorguyu katılın
Aşağıdaki sorgunun yürütülmesi 11 dakikadan fazla sürüyor. SELECT `c`.*, `e`.`name` AS `employee_name`, `e`.`emp_no`, `d`.`code` AS `department_code`, IF(ew.code IS NOT NULL, ew.code, egw.code) AS shift_code, IF(ew.code IS NOT NULL, ew.time_in_from, egw.time_in_from) AS time_in_from, IF(ew.code IS NOT NULL, ew.time_out_to, egw.time_out_to) AS time_out_to, IF(ew.code IS NOT NULL, ew.next_day, egw.next_day) AS next_day FROM `tms_emp_badge_card` …

3
EXISTS sorgum neden dizin araması yerine dizin taraması yapıyor?
Bazı sorguları optimize etmeye çalışıyorum. Aşağıdaki sorgu için, SET STATISTICS IO ON; DECLARE @OrderStartDate DATETIME2 = '27 feb 2016'; DECLARE @OrderEndDate DATETIME2 = '28 feb 2016'; SELECT o.strBxOrderNo , o.sintOrderStatusID , o.sintOrderChannelID , o.sintOrderTypeID , o.sdtmOrdCreated , o.sintMarketID , o.strOrderKey , o.strOfferCode , o.strCurrencyCode , o.decBCShipFullPrice , o.decBCShipFinal , o.decBCShipTax …


2
Kalıcı bir hesaplanmış sütundaki dizin aranamıyor
Ben denilen bir tablo var denilen Addresskalıcı bir hesaplanmış sütun var Hashkey. Sütun deterministiktir, ancak kesin değildir. Üzerinde aranamayan benzersiz bir indeks vardır. Bu sorguyu çalıştırırsam, birincil anahtarı döndürürseniz: SELECT @ADDRESSID= ISNULL(AddressId,0) FROM dbo.[Address] WHERE HashKey = @HashKey Bu planı alıyorum: Eğer indeksi zorlarsam, bu daha kötü bir plan elde …


3
WHERE koşulu ve GROUP BY ile SQL sorgusu için dizinler
Bir WHEREkoşul ile bir SQL sorgusu için hangi dizinleri kullanmak için belirlemeye çalışıyorum ve GROUP BYşu anda çok yavaş çalışıyor. Sorgum: SELECT group_id FROM counter WHERE ts between timestamp '2014-03-02 00:00:00.0' and timestamp '2014-03-05 12:00:00.0' GROUP BY group_id Tabloda şu anda 32.000.000 satır var. Zaman dilimini artırdığımda sorgunun yürütme süresi …

3
CTE hiyerarşisini optimize etme
Aşağıdaki güncelleme Bir hesap hiyerarşisini temsil etmek için tipik bir acct / üst hesap mimarisine sahip bir hesap tablosu var (SQL Server 2012). Hiyerarşiyi ortaya çıkarmak için CTE kullanarak bir GÖRÜNÜM oluşturdum ve genel olarak güzel ve amaçlandığı gibi çalışıyor. Hiyerarşiyi herhangi bir düzeyde sorgulayabilir ve şubeleri kolayca görebilirim. Hiyerarşinin …

2
Yürütme Planı'nı kullanarak T-SQL sorgusu nasıl optimize edilir
Deneme-yanılma ve yürütme planı, ancak boşuna kullanarak optimize etmeye çalışırken son iki gün geçirdim bir SQL sorgusu var. Lütfen bunu yaptığım için beni affet ama tüm infaz planını buraya göndereceğim. Sorgu ve yürütme planındaki tablo ve sütun adlarının hem kısalık hem de şirketimin IP'sini korumak için genel bir çaba gösterdim. …

3
OFFSET… FETCH ve eski stil ROW_NUMBER şeması arasında neden yürütme planı farklılıkları var?
OFFSET ... FETCHSQL Server 2012 ile sunulan yeni model, basit ve daha hızlı disk belleği sunar. İki formun anlamsal olarak aynı ve çok yaygın olduğu düşünüldüğünde neden farklılıklar var? Optimize edicinin her ikisini de tanıdığı ve (önemsizce) sonuna kadar optimize ettiği varsayılabilir. OFFSET ... FETCHMaliyet tahminine göre ~ 2 kat …

1
Kümelenmiş Dizin Tarama Yürütme Sayısı neden bu kadar yüksek?
Bir sorgu planı 1316 kez bir kümelenmiş dizin tarama yürütürken, diğer 1 kez yürütür dışında aynı sorgu planı üreten iki benzer sorguları var. İki sorgu arasındaki tek fark farklı tarih ölçütleridir. Uzun süren sorgu aslında tarih ölçütlerini daraltır ve daha az veri geri alır. Her iki sorguda da yardımcı olacak …

2
“Tmp tablosuna kopyalama” son derece yavaş
Bu benim sorgu örneğidir: SELECT nickname, CASE class_id WHEN 1 THEN 'Druid' WHEN 2 THEN 'Necromancer' WHEN 3 THEN 'Mage' WHEN 4 THEN 'Priest' WHEN 5 THEN 'Warrior' WHEN 6 THEN 'Stalker' WHEN 7 THEN 'Paladin' WHEN 8 THEN 'Psionic' END class_name, ROUND(AVG(level),2) level, ROUND(AVG(tabard_id),2) tabard, CASE rank_id WHEN 1 …

2
Optimizasyon: Değişken bildirimlerini prosedürünüzün üstüne taşıma
Bazı saklı yordamları optimize etmeye çalışırken, DBA ile oturdum ve yüksek engelleme ve / veya yüksek okuma / yazma etkinliği olan bazı saklı yordamlar geçirdim. DBA'nın bahsettiği bir şey, TABLEyeniden derlemeleri önlemek için saklı yordamın üstündeki tüm değişkenleri (özellikle değişkenleri ) bildirmem gerekti. Bunu ilk duydum ve sahip olduğumuz tüm …

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.