Bunun erken optimizasyon olduğunu düşünüyorum çünkü uygulamamız henüz yayınlanmadı. Canlı yayına girdikten sonra yavaş sorguları izlemeyi ve ardından buna göre indeksler eklemeyi önerdim.
Son kullanıcılarınıza ve üretim ortamınıza kalite güvencesi gibi davranamazsınız. Daha fazla deyişle, üretimde çözeceğinizi söylüyorsunuz. Bunun doğru yol olduğunu sanmıyorum ve bu yaklaşımın her gün çok yanlış gittiğini görüyorum .
Bunu geniş bir fırçayla boyayamayacağınız için bir şeyi aklınızda tutmanız gerekir.
Senin ne ortak iş yükü ?
Bu çok açık veya donuk gelebilir, ancak pratikte önemlidir. İş yükünüzün% 98'ini oluşturan 10 sorunuz varsa (oldukça yaygındır, ister inanın ister inanmayın), tavsiyem üretim öncesi zor bir analiz olacaktır . Gerçekçi ve temsili verilerle, bu 10 sorgunun olabildiğince iyi olduğundan emin olun ( mükemmel , değerli zaman kaybıdır ve neredeyse elde edilemez).
İçin iş yükü% 2 oluşturan diğer 200 sorguları , o büyük olasılıkla çaba bir ton değerinde değildir ve üretimde sorun giderme tuhaflıklar perf köşe dava yapacak olanlardır. Bu aynı zamanda bir gerçeklik ve çok da kötü bir şey değil. Ancak bu, en iyi uygulamaların endekslenmesini göz ardı etmek veya veri alımı konusunda tahmini varsayımlarda bulunmak anlamına gelmez.
Üretimden önce veri tabanı performansını belirlemek yaygın ve iyi bir uygulamadır. Aslında, bu gelişme DBA adı verilen bu tür bir şey için nispeten ortak bir konum var .
Fakat...
Bazıları bunu çok ileri götürür ve "sadece durumda" diye endeksler ekleyerek çıldırır. Birisi bunun eksik bir indeks olduğunu öneriyor? Ve diğer dört varyasyon ekleyin. Aynı zamanda kötü bir fikir. Sadece veri almayı düşünmek zorunda değilsiniz, peki ya veri modifikasyonu? Tabloda ne kadar fazla indeks varsa, genellikle veriyi değiştirdiğinizde o kadar fazla ek yük demektir.
Çoğu şey gibi, sağlıklı bir denge var.
Eğlenceli küçük bir not olarak ... "Index" çoğullaştırması
"Endeksler" finansal insanlar içindir
"Dizinler" bizim için