Bunun birkaç farklı yerde yapıldığını gördüm. Teoride harika, ama nadiren etkili olduğunu gördüm. İşte nedeni. İlk olarak, bir DBA ekibiniz (veya başka kişiler) varsa, genellikle grubun en az yetkin veya en az sevilen kişinin inceleme çalışmasının yükünü aldığını buldum. Neden öyle dedin? Çünkü başka hiç kimse bunu yapmak istemez ve diğer herkes muhtemelen daha acil olan diğer şeyleri yapmakla meşguldür. DBA'nın etrafta oturup “Adam her şey mükemmel gidiyor; sadece arkanıza yaslanıp internette sörf yapabilirim. Yapacak bir şeyim olsaydı” dedim. Ben de, en azından iyi olanlar da değil. Herkesten daha meşgul ya da daha meşguller. Bu, en az yetenekli olan kişinin büyük olasılıkla incelemeyi yaptığı anlamına gelir ve bu tam olarak bunu yapmak istemediğiniz kişidir. Gözden geçirilmesini istediğiniz kod, insanların bir tür kara büyü olarak baktığı ve geçtiği gerçekten zor koddur. Junior DBA'lar veya sadece kötü olanlar, gerçekten zor bir sorgunun nasıl çalıştığının inceliklerini yakalayamayacak. Nadiren, hiç olmadığı gibi, "Adam birincil tabloyu kullanarak tablodan tek bir satır seçmeyi düşünmedim! Teşekkürler DBA cankurtaransın." Yani bu senaryoda, gerçekte yaptığınız tek şey az değer için çok fazla iş yaratmak. t Birincil anahtarı kullanarak tablodan tek bir satır seçmeyi düşünmeyin! Teşekkürler DBA cankurtaransın. "Yani bu senaryoda, gerçekte yaptığınız tek şey çok az değer için çok iş yaratmak. t Birincil anahtarı kullanarak tablodan tek bir satır seçmeyi düşünmeyin! Teşekkürler DBA cankurtaransın. "Yani bu senaryoda, gerçekte yaptığınız tek şey çok az değer için çok iş yaratmak.
İkincisi, DB grubu için sadece daha fazla iş. Muhtemelen başka şeylere baksalar bile olacaklar, ona hızlı bir şekilde bakacaklar ve bir şeyler kaçırılacaklar. Meşgul insanlar ve kodu gözden geçirmek gerçekten zaman alıcı. Gerçekte, bununla görevlendirilmeleri adil değildir, çünkü diğerlerinin tembel olması ve onları bir çıkış olarak kullanması bir bahane, sonuçta ne olur. Üretimde bir şeyler kopuyor ve geliştirici hızla "DBA bunu gözden geçirdi." Şimdi bu her zaman doğru, hayır, ama zamanın gerçek bir parçası ve çoğu zaman kodlarının gerçekten gözden geçirilmesi gereken insanlardan. DBA'yı ekstra bir iş ile gömdünüz ve bu kişiyi muhtemelen başka birinin hatalarından sorumlu olmaya zorladınız.
Sorunu gerçekten çözmenin tek yolu, SQL kodunu nasıl yazacağını bilen kişilerin yazmasını sağlamaktır. Zaman zaman DBA'lardan girdi almalılar mı? Tabii ki yapmalılar, ama her zaman buldum, eğer ilk seferde doğru yapmak için zamanınız yoksa, düzeltmek için ne zaman bulacaksınız?