«database-internals» etiketlenmiş sorular

Veritabanı motorunun iç işleri ile ilgili teknik sorular için.

4
SET işlemine katılabilecek maksimum yerel değişken sayısı nedir?
İş mantığı içeren bir saklı yordam var. İçinde 1609 civarında değişkenim var (nedenini sorma, motor böyle çalışıyor). SETDiğer tüm değişkenlerin bitiştirilmiş değerine bir değişken denemeye çalışıyorum . Sonuç olarak oluşturma sırasında hatayı alıyorum: Msg 8631, Seviye 17, Durum 1, Prosedür XXX, Satır YYY Dahili hata: Sunucu yığını sınırına ulaşıldı. Lütfen …

2
Sys.allocation_units öğesinden tablo boyutuyla eşleşmeyen DATALENGTH toplamı
DATALENGTH()Bir tablodaki tüm kayıtlar için tüm alanları toplayacak olursam, tablonun toplam boyutunu alacağım izlenimi altındaydım . Yanlış mıyım? SELECT SUM(DATALENGTH(Field1)) + SUM(DATALENGTH(Field2)) + SUM(DATALENGTH(Field3)) TotalSizeInBytes FROM SomeTable WHERE X, Y, and Z are true Aşağıdaki veritabanımı belirli bir tablonun boyutunu almak için (ben tablo boyutları, kümelenmiş dizinleri sadece bu nedenle …

1
Yüksek PAGELATCH_ * ve WRITELOG bekliyor. İlişkili mi?
Yüksek WRITELOG beklemeleriyle birlikte çok yüksek PAGELATCH_EX ve PAGELATCH_SH bekleme türlerini görüyoruz. Ben PAGELATCH bekler neden sorgu teşhis ve bir IDENTITY değeri ile tanımlanan meşgul kümelenmiş birincil anahtar içine ekleme oranını azaltarak bunları ortadan kaldırabilir. Bu fenomenin son sayfa ekleme mandalı çekişmesi olarak bilindiğini anlıyorum. Ancak sorum yeni bir kayıt …

2
Kümelenmiş bir dizini devre dışı bırakmak neden tabloya erişilemiyor?
Bir dizin devre dışı bırakıldığında, tanım sistem kataloğunda kalır ancak artık kullanılmaz. SQL Server dizini (tablodaki veriler değiştikçe) korumaz ve dizin sorguları karşılamak için kullanılamaz. Bir Eğer kümelenmiş dizin devre dışı, tüm tablo erişilemez hale gelir. B ağacını atarak verilere doğrudan tablodan erişmek neden mümkün değil? (büyük olasılıkla tabloyu satır …


3
SQL Server, arabellek önbelleğinde yeterli yer olmadığı bir sorgu için verileri nasıl işler?
Benim sorum, SQL Server, arabellek önbellek kullanılabilir alandan daha fazla veri hacmi çekmek için gereken bir sorguyu nasıl işler? Bu sorgu birden çok birleştirme içerdiğinden, sonuç kümesi zaten diskte bu biçimde mevcut değildir ve sonuçları derlemesi gerekir. Ancak derlemeden sonra bile, arabellek önbelleğinde mevcut olandan daha fazla alan gerektirir. Bir …

1
Geçici tablolara veri yüklerken minimum günlük kaydı alın
Veri Yükleme Performansı Kılavuzu'nu okuduktan sonra bile , minimum günlük kaydı almak için kümelenmiş bir dizinle tanımlanan boş bir geçici tabloya TABLOCK tablo ipucu eklemenin gerekip gerekmediğinden emin değilim. Açıkçası temp tablosu SIMPLE kurtarma modunda çalışan TempDB'de yaratılmıştır, bu yüzden minimum kayıt için mükemmel bir aday olduğunu düşünürdüm, ancak onaylamak …

1
Plan tahliyesini ölçme
Maksimum bellek 24 GB olarak ayarlanmış bir SQL Server 2016 SP1'imiz var. Bu sunucu çok sayıda derlemeye sahiptir, bu derlemelerin yalnızca% 10'u Geçici sorgulardan alınmıştır. Bu nedenle yeni derlenen planlar plan önbelleğinde saklanmalıdır, ancak plan önbelleğinin boyutu artmamaktadır (yaklaşık 3.72 GB). Planların önbellekten kaldırılmasına yol açan yerel bellek baskısı olduğundan …

1
Endeks Arama Operatör Maliyeti
İçin AdventureWorks örnek veritabanı sorgusu aşağıda: SELECT P.ProductID, CA.TransactionID FROM Production.Product AS P CROSS APPLY ( SELECT TOP (1) TH.TransactionID FROM Production.TransactionHistory AS TH WHERE TH.ProductID = P.ProductID ORDER BY TH.TransactionID DESC ) AS CA; Yürütme planı gösterileri bir Tahmini Operatör Maliyeti ait 0.0850383 için (93%) Index Seek : Maliyet, …
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.