Pergunta

Eu sempre pensei que um compilador SQL iria quebrar, mas aparentemente nesing pode quase ser infinita. É este código a ser lixeira imediatamente ou se há algum vislumbre de esperança que algo como isso pode funcionar?

Esta consulta realmente não pertence a mim para que eu não possa publicá-la ... No entanto, vamos apenas fingir que é esta :

[SELECT /*+ NOPARALLEL bypass_recursive_check */ 
SP_ALIAS_190, 
((CASE SP_ALIAS_191
WHEN 1
THEN 'PROVIDER::ALL_PROV::'
WHEN 0]
Foi útil?

Solução

Se a consulta é gerado por uma ferramenta (ou código), então ele pode ser relativamente simples de manter (no sentido de que o código de geração de consulta pode na verdade ser bem escrito e de fácil manutenção)

Outras dicas

Claramente, você nunca viu o SQL que sai do Sharepoint DAL.

Eu tive um problema semelhante a este recentemente e cheguei a uma decisão por considerar um par de coisas:

  • Quanto tempo isso vai levar para manter vs. reescrita?
  • Como crítico é isso? Pode haver um monte de lógica que pode ser difícil de desvendar e o valor no fato de que "ele funciona" excede o valor de uma reescrita imediata.

E, claro, havia a gestão decisão política tinha a fazer sobre o risco de explicar por que algo que foi criado recentemente teria que ser reescrito.

No final (para mim), encontrar + substituir era meu amigo.

Refactor-lo usando o COM comunicado. Adicionar lotes e lotes e lotes de comentários.

Se você quebrá-lo em pedaços que podem ser gerenciados, você tem uma chance muito maior.

Se contiver colocar de nidificação eu diria que não.

Como qualquer código não importa o idioma, você deve apenas olhar para re-escrevendo isso porque você pode torná-lo mais eficiente e mais fácil de entender.

Com base na minha experiance eu tenho sido capaz de reduzir SQL 4 a 5 vezes o seu tamanho e muitas vezes o seu desempenho mal escrito, porque o auther origonal realmente não tinha idéia.

Se você acha que é ruim, você deve ver o vídeo amostra do Industrial Logic no código de cheiros: Dívida Técnica . Definitivamente não é gerada automaticamente.

É possível manter uma função de 43 páginas, diz, em C #? A resposta é óbvia;). Eu simplesmente não consigo imaginar isso. Se eu fosse você eu iria quebrá-lo em partes menores.

Duas coisas:

  • Será apenas máquinas nunca precisa ler este SQL?
  • Você está preso com o esquema subjacente?

Se você tiver uma consulta 43 página e você respondeu sim às duas primeiras questões, bem-vindo ao desenvolvimento do SharePoint

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top