Eu já vi isso em vários lugares diferentes. É ótimo em teoria, mas raramente vi ser eficaz. Aqui está o porquê. Em primeiro lugar, se você tem uma equipe de DBAs (ou outras pessoas), geralmente descobri que a pessoa menos competente ou menos apreciada do grupo recebe o peso do trabalho de revisão. Por que você diz? É porque, ninguém mais quer fazer isso, e todo mundo está ocupado fazendo outras coisas que provavelmente são mais urgentes. Já viu um DBA sentado e dizer: "Cara, tudo está funcionando perfeitamente; eu posso simplesmente sentar e navegar na Internet. Eu gostaria de ter algo para fazer". Eu também, pelo menos não os bons. Eles são tão ocupados ou mais ocupados que todos os outros. Isso significa que a pessoa menos capaz provavelmente está fazendo a revisão, e essa é exatamente a pessoa que você não deseja. O código que você deseja revisar é o código realmente difícil que as pessoas veem e o passam como algum tipo de magia negra. DBAs juniores ou simplesmente ruins, nunca serão capazes de captar as sutilezas de como uma consulta realmente difícil funciona. Raramente, como nunca, alguém diz: "Cara, eu não pensei em selecionar uma única linha de uma tabela usando a chave primária! Graças ao DBA, você é um salva-vidas". Portanto, nesse cenário, tudo o que você está fazendo é criar muito trabalho por pouco valor. pense em selecionar uma única linha de uma tabela usando a chave primária! Obrigado, DBA, você é um salva-vidas. "Portanto, nesse cenário, tudo o que você está fazendo é criar muito trabalho por pouco valor. pense em selecionar uma única linha de uma tabela usando a chave primária! Obrigado, DBA, você é um salva-vidas. "Portanto, nesse cenário, tudo o que você está fazendo é criar muito trabalho por pouco valor.
Em segundo lugar, é apenas mais trabalho para o grupo DB. O que provavelmente vai acontecer mesmo que eles olhem para outras coisas é que eles vão dar uma olhada rápida e algo vai perder. Eles são pessoas ocupadas, e revisar o código é realmente demorado. Na verdade, não é justo que eles se encarregem disso, porque é uma desculpa para que todos os outros sejam preguiçosos e os usem como saída, o que, em última análise, é o que acontece. Algo quebra na produção, e o desenvolvedor rapidamente aponta: "Bem, o DBA revisou". Agora isso é verdade o tempo todo, não, mas é verdade parte do tempo e geralmente das pessoas que precisam ter seu código realmente revisado. Então você enterrou o DBA com trabalho extra e forçou essa pessoa a ser responsável pelos erros de outra pessoa, quando essa pessoa provavelmente não '
A única maneira de realmente resolver o problema é ter pessoas que sabem escrever código SQL. Eles deveriam receber informações dos DBAs de tempos em tempos? É claro que deveriam, mas eu sempre achei que, se você não tem tempo para fazer o certo da primeira vez, quando vai encontrar tempo para consertá-lo.