Costretto a scrivere stored procedure

3

Riesci a pensare ad alcuni motivi per cui il management costringe gli sviluppatori a scrivere e chiamare stored procedure invece di istruzioni SQL inline direttamente?

Anche un'istruzione CRUD molto semplice, la scrittura di una stored procedure richiede più tempo e crea un carico di lavoro extra.

    
posta linquize 11.10.2012 - 05:48
fonte

2 risposte

2

Uno dei motivi potrebbe essere dovuto al fatto che le vecchie abitudini sono dure a morire.

Nei database meno recenti, le stored procedure utilizzate solitamente hanno prestazioni migliori a causa della memorizzazione nella cache del piano di query per le stored procedure in confronto alle query ad-hoc che di solito non venivano memorizzate nella cache. Un sacco di versioni più recenti (intendo database negli ultimi 5 - 6 anni) di database forniscono anche il caching di query - alleviando questo inconveniente in larga misura

Un altro possibile utilizzo degli SP potrebbe essere l'ottimizzazione. Quando hai SP per ogni query, è possibile che gli amministratori di database modifichino le query se necessario per migliorare le prestazioni. Se le query si trovano nel codice, il DBA non può davvero ottimizzare le query stesse. Se fosse una buona pratica per DBA fare questa ottimizzazione è una cosa molto soggettiva, ma ho lavorato in aziende dove ha funzionato molto bene.

Ci sono probabilmente molti più pro e contro in questo, ma questi 2 gettano un po 'di luce sul motivo per cui è stato mandato in passato.

Se il tuo attuale modo di lavorare allevia il motivo alla base di questi punti, puoi sempre indicarlo al tuo mgmt e chiedere loro di ricominciare dai loro standard ..

Però, per essere onesti, non andrei con l'argomento di "Ci vuole più tempo e fatica". A mio parere, ci vuole solo una quantità trascurabile di sforzi per scrivere Create Package .... e potresti semplicemente scrivere un piccolo script o uno strumento per prendere la tua query e convertirla in una procedura. il punto qui è che la tua argomentazione sul tempo / sforzo sembra al meglio essere sottile.

    
risposta data 11.10.2012 - 06:26
fonte
6

Bene, perché vorresti mantenere il tuo lavoro è sempre una buona ragione. Se questo è lo standard dell'azienda / del team / di gestione, è compito tuo conformarti ad esso.

L'argomento Stored Procedure vs. Client Side è alquanto obsoleto a questo punto e ci sono abbastanza vantaggi e svantaggi per ognuno che è una questione di preferenza in quanto si adatta al tuo ecosistema tecnologico.

Ora, per essere onesti, ultimamente, con le luci puntate sugli ORM, le query generate automaticamente dal lato client sono state confermate contro alcune delle critiche dei giorni passati.

La mia personale opinione: più facile al QA e distribuire le correzioni sproc che il codice compilato.

    
risposta data 11.10.2012 - 06:19
fonte

Leggi altre domande sui tag