Bellek Sınırı Aşıldı
Optimize edici, bellek baskısı nedeniyle daha iyi plan alternatifleri aramayı bırakmak zorunda kaldı. Bunun nedeni araştırılmalı ve düzeltilmeli, ardından sorgu derlemesi tekrar denenmelidir. Döndürülen plan, düşük bellek durumu olmasaydı optimize edicinin seçeceği plan olmayabilir.
Zaman aşımı
Bu sebep çok yanlış anlaşılıyor .
Sorgu iyileştirici hızlı bir şekilde makul bir plan bulmayı amaçlamaktadır . Mümkün olan en iyi planı bulmak için kapsamlı bir arama yapmaz. Tasarım gereği, optimizasyona gereğinden fazla zaman harcamaktan kaçınır. Bunu sağlamak için çalışan bu özelliklerden biri 'zaman aşımı' (zaman ölçüsü değil).
Optimize edici, mantıksal sorgunun karmaşıklığına, önemlilik tahminlerine ve şu ana kadar bulunan en ucuz planın tahmini maliyetine (varsa) dayalı olarak bir 'keşif bütçesi' belirler. Daha yüksek kardinaliteye sahip daha karmaşık sorgulara daha yüksek bir bütçe verilir.
Bu bütçe, arama aşamalarından birinde aşılırsa, aşama sona erer. Bu, tasarımcının ve optimize edicinin normal çalışmasının bir parçasıdır. Daha fazla optimize edici çaba gerektiren sorgular bunu elde eder; yapmayanlar, yapmayanlar.
'Zaman Aşımı'nı' Yeterli Plan Bulundu 'olarak düşünün.
Yeterince İyi Plan Bulundu
Bu, boş bir sebeple tamamen aynı anlama gelir. 0.909090 ... (1 / 1.1) 'in altında bir maliyetle planların bu şekilde etiketlenmesi tarihsel bir tuhaflıktır. Bu neden ortaya çıktığında hiçbir şey erken durmaz veya başka bir şekilde özel olarak ele alınmaz veya optimize edici kodu içinde farklı değildir.
Bellek Sınırı Dışında Aşıldı, 'erken sonlandırma nedenlerinden' hiçbiri sorgu ayarlama veya performans analizi için çok fazla bir anlam ifade etmez. Genellikle onları görmezden gelirim.
Tavsiye
Gerçek performans metriklerine (geçen süre, CPU / bellek kullanımı, ... bağlamda önemli olan ne olursa olsun) dayalı sorgu ayarlama çabalarını hedefleyin. Bir sorgu amaçlanan amacı için çok yavaşsa, daha hızlı hale getirmek için zaman harcayın. Gerçek performansı ölçün, temel ve geçmişle karşılaştırın ve önemli varyanslarda ayarlama çabasını hedefleyin.
Garantili ve temiz verileri, yararlı istatistikler ve dizinler ve iyi yazılmış, optimize edici dostu sorgular ile uygun bir ilişkisel şemada saklayın.