«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
SQL Server CTE'yi “Optimizasyon Çiti” olarak Kullanırken Hangi Kurallar Belirlenir?
Bir süre önce Brent Ozar, SQL Server ve PostgreSQL arasındaki bazı farkları detaylandıran bir yazı yayınladı: SQL Server ve PostgreSQL Arasındaki İki Önemli Fark İlk nokta (“CTE'ler optimizasyon çitleri”) dikkatimi çekti, çünkü sağlanan örnekte SQL Server'ın CTE ve ana sorguyu bir araya getirdiği ve tek bir sorgu olarak optimize ettiği …

2
Bu neden daha hızlı ve kullanımı güvenli? (Alfabede ilk harf NEREDE)
Uzun lafın kısası, çok küçük bir tablodaki değerlere sahip küçük tabloları güncelliyoruz. Yakın zamanda yapılan bir testte, bu güncellemenin çalışması yaklaşık 5 dakika sürer. Görünüşte mükemmel bir şekilde çalışan, mümkün olan en keskin optimizasyona benzeyen tökezledi! Aynı sorgu şimdi 2 dakikadan daha kısa sürede çalışıyor ve aynı sonuçları mükemmel bir …


1
Kümelenmiş bir dizinle SQL Server tablosundan veri silinirken B-Tree yeniden dengeleniyor mu?
Birincil anahtarda kümelenmiş bir dizin ile bir SQL Server veritabanında bir tablo var. Tabloda 1 milyon satır var. 10K satırı tablodan silersem, silme işlemi yapılırken dizin yeniden yapılandırılır mı? Silme işlemi, saklı yordamın bir parçasıdır. Bir kerede, birden fazla istemci saklı yordamı yürütebilir, ancak her bir çalıştırma kendi satır kümesini …

2
Endeks eklemenin maliyet / faydası nasıl belirlenir?
Craig Ringer'e göre : Referans tarafındaki yabancı anahtar sütunlarınızda (veya dahil) bir dizin oluşturmak genellikle iyi bir fikir olsa da, gerekli değildir. Her endeks Eğer her bir performans maliyeti ödersiniz bir yavaşlatır aşağı hafifçe işlemleri DML eklemek INSERT, UPDATEya da DELETE. Endeks nadiren kullanılırsa, sahip olmaya değmeyebilir. Endeks eklemenin yararının …


1
İfadedeki tür dönüşümü sorgu planı seçiminde “CardinalityEstimate” 'ı etkileyebilir mi?
Geçmiş verileri bölümlenmiş görünümlerde depolayan bir arşiv veritabanı tutuyorum. Bölümleme sütunu bir tarih saatidir. Görünümün altındaki her tablo bir aylık veri depolar. Her tablodaki olayları datetime sütununda bir kontrol kısıtlamasıyla kısıtlarız. Bu, optimize edicinin olay tarih / saat sütununda filtrelenen sorgular için aranan tabloları sınırlamasına olanak tanır. Denetim kısıtlamalarının adları …

3
Veritabanındaki her satır değişikliğinin kaydı genellikle nasıl saklanır?
Üzerinde çalıştığım bir projede , veritabanının bazı tablolarındaki satırlarda yapılan her değişiklik, daha fazla denetim veya geri alma için izlenmelidir . Satırı kimin, hangi IP adresinin ne zaman ve ne zaman değiştirdiğini bulmak ve önceki sürümü geri yükleyebilmek kolay olmalıdır. Benzer bir şey, örneğin Stack Exchange tarafından kullanılır. Başka birinin …

2
PostgreSQL, NULL olmayan VARSAYILAN sütun eklemeyi optimize eder mi?
Değerli NOT NULLsütunlar eklerken DEFAULT- PostgreSQL bu işlemi optimize ediyor mu? Tablonun n satırı olması durumunda, optimize edilmemiş bir alter-table-add-column, varsayılan değerin n yazmalarını verir - ki bu çok acı verici olabilir. Optimizasyon ile DB anında yeni sütunu oluşturacak, uygun bir indeks veri yapısında bu sütun için varsayılan olmayan bir …

3
Birincil anahtarda kendi kendine katılma
NKendi kendine birleşmelerden oluşan bu sorguyu düşünün : select t1.* from [Table] as t1 join [Table] as t2 on t1.Id = t2.Id -- ... join [Table] as tN on t1.Id = tN.Id N kümelenmiş dizin taramaları ve N-1 birleştirme birleşimleriyle bir yürütme planı oluşturur. Dürüst olmak gerekirse, tüm birleşimleri optimize …

1
Taramaya neden olan kalıcı hesaplanmış sütun
Düzenli bir sütunu kalıcı bir hesaplanmış sütuna dönüştürmek, bu sorgunun dizin aramaları yapamamasına neden oluyor. Neden? 2016 SP1 CU1 dahil olmak üzere çeşitli SQL Server sürümlerinde test edilmiştir. Repros Hesaplanmış bir sütunla Düzenli bir sütunla Sorun ile table1, col7. Tablolar ve sorgu, orijinallerin kısmi (ve basitleştirilmiş) bir versiyonudur. Sorgunun farklı …

3
Yürütme Planı INDEX KULLANMADI, Tablo Taraması Kullanıyor
Bir dizin veya tablo taraması söz konusu olduğunda, SQL Server'ın hangisinin daha iyi olduğunu görmek için istatistikleri kullandığını biliyorum. 20 milyon sıralı bir masam var. (SnapshotKey, Measure) bir dizin var ve bu sorgu: select Measure, SnapshotKey, MeasureBand from t1 where Measure = 'FinanceFICOScore' group by Measure, SnapshotKey, MeasureBand Sorgu 500 …

5
Bir arama beklediğim halde tarama yapıyorum
Bir SELECTdeyimi optimize etmek gerekir, ancak SQL Server her zaman bir arama yerine bir dizin taraması yapar. Tabii ki, saklı bir yordamda olan sorgu budur: CREATE PROCEDURE dbo.something @Status INT = NULL, @IsUserGotAnActiveDirectoryUser BIT = NULL AS SELECT [IdNumber], [Code], [Status], [Sex], [FirstName], [LastName], [Profession], [BirthDate], [HireDate], [ActiveDirectoryUser] FROM Employee …


2
MySQL: delete… where..in () vs delete..from..join ve alt seçimle silme sırasında kilitli tablolar
Feragatname: Lütfen veritabanı dahili bilgileriyle ilgili bilgi eksikliğimi affedin. İşte gidiyor: Veritabanındaki periyodik bir temizlik işinde büyük bir performans sorunu olan bir uygulama (bizim tarafımızdan yazılmayan) çalıştırıyoruz. Sorgu şuna benzer: delete from VARIABLE_SUBSTITUTION where BUILDRESULTSUMMARY_ID in ( select BUILDRESULTSUMMARY_ID from BUILDRESULTSUMMARY where BUILDRESULTSUMMARY.BUILD_KEY = "BAM-1"); Basit, okunması kolay ve standart …

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.