Bir tablonun yabancı anahtarına bir indeks eklemenin neden iş arkadaşımın görüşünü yavaşlattığını bulmakta zorlanıyorum. Bu görünüm, dış birleştirme ve iç birleştirmeyle birkaç paketlenmiş görünümden oluşur. Sorunun nerede olduğunu bulmak için onları tek tek çıkarmaya çalıştım, ama söyleyemem, belli bir görüşten değil, hepsinden daha fazlası geliyor.Bir endeks seçim ifadesini nasıl yavaşlatabilir?
Dizinlerin ekleme işlemini yavaşlatabileceğini veya sabit diskte boyut aldıklarını biliyordum, ancak hiçbir zaman görüntüyü yavaşlatmaktan sorumlu olabileceğini hiçbir zaman okumadım. Gerçek şu ki:
Dizin ve 9 olmadan 20 saniye sürer.
CREATE NONCLUSTERED INDEX [IX_MyField] ON [dbo].MyTable
(
[MyField] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF,
IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON,
ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
Neler olduğunu görmek için sorgu planına baktınız mı? –
Teoride, dizin, optimizasyon yapan kişinin planı oluştururken daha fazla seçenek göz önünde bulundurmasını sağlar; bu, bir tablo taraması gerektiğine karar verirse, yavaşlatabilir. Bununla birlikte, bunun ölçülebilir bir etkiye sahip olacağından kuşku duyuyorum. Etkilenen sorguyu gönderir misiniz? – JohnFx
Görüşün görüşlerini çağıran (ya da yanlış yorumladığım) bir görünüm olduğunu mu söylediniz? Öyleyse bunu hemen durdurmalısın. Bu görüşler, tüm alt görünümleri tam olarak hayata geçirmeli ve büyük miktarda veri olduğunda çok yavaştır. Görüntülü görüşme görüşlerini görmek için bir SQL antipattern. – HLGEM