Por que as pessoas não usam procedimentos armazenados em sites que acessam bancos de dados? [fechadas]

0

Em sistemas SQL que suportam procedimentos armazenados, se você não usar certas funções, o sproc geralmente será armazenado no servidor de forma compilada e otimizada. Quando o texto SQL é incorporado / construído como uma string em PHP ou outra página da web, o texto deve ser enviado para o banco de dados e compilado antes da execução. Isso não é apenas menos eficiente no banco de dados, faz com que o interpretador PHP (ou qualquer outro) faça mais trabalho antes de enviar, e o servidor da Web trabalhe mais para buscar a página maior. Então eu estou querendo saber porque eu nunca vi procedimentos armazenados usados em qualquer um dos vários aplicativos web de código aberto que eu olhei, nem mesmo alguns que APENAS suportam mySQL ou MS SQL Server (ambos com procedimentos armazenados).

    
por WGroleau 05.10.2016 / 20:44

2 respostas

1

Os procedimentos armazenados bloqueiam você em uma plataforma de banco de dados específica. Por exemplo, o código escrito para o MySQL não será executado no SQL Server imediatamente. Isso torna seu aplicativo menos portátil. É claro que há mais na história: alcançar a portabilidade também exigiria o uso de tipos de dados padrão e a não depender de funções específicas da plataforma. Que na prática nem sempre é o caso.

    
por 05.10.2016 / 21:41
0

Se os aplicativos suportarem vários bancos de dados, é possível que eles escrevam procedimentos de armazenamento para cada banco de dados que eles suportam.

Agora, eu não sei para o SQL Server, mas em relação ao MySQL, muitos hosts compartilhados não permitem a criação de procedimentos armazenados, e alguns outros recursos.

    
por 05.10.2016 / 23:07