Checklist Algoritmi SQL

Versione: 2.1
Ambito: Stored Procedure, View, migrazioni e logica query su MS SQL / MySQL / SQLite.

DEVE

  • [ ] Parametrizzazione: nessuna concatenazione stringa per comandi SQL; tipizzazione rigorosa
  • [ ] Assunzioni schema documentate (Collation, Case Sensitivity, semantica Null)
  • [ ] Transazioni esplicite quando necessarie; Isolation Level giustificato
  • [ ] Idempotenza: migrazioni e script setup possono essere eseguiti in sicurezza (o indicare chiaramente non-idempotenza)
  • [ ] Concorrenza: comportamento locking considerato (Deadlock, Long Lock, Escalation)
  • [ ] Strategia indici validata; modifiche hanno razionale e note impatto
  • [ ] Query Plan revisionati per percorsi critici (MS SQL: Actual Plan; MySQL: EXPLAIN; SQLite: Query Plan)
  • [ ] Paginazione usa ordinamento deterministico (nessun „OFFSET senza ORDER BY“)
  • [ ] Semantica Date/Time esplicita (UTC vs Local; conversioni fuso orario)
  • [ ] Gestione errori mappa errori DB a errori applicazione sicuri (nessun leak schema)

DOVREBBE

  • [ ] Evitare RBAR/Cursor dove soluzioni set-based disponibili (salvo giustificazione)
  • [ ] Usare set risultati limitati; evitare „SELECT *“ in interfacce pubbliche
  • [ ] Fornire dataset test e query regressione per edge case

BUONO

  • [ ] Documentare differenze specifiche engine (es. LIMIT/OFFSET, supporto RETURNING, funzioni JSON)
  • [ ] Fornire baseline prestazioni per tabelle alto volume

Versione: 2.1 (Split)
Autore: Wolfgang van der Stille

Torna a Checklist Stack | Checklist di Revisione

Zuletzt geändert: il 29/01/2026 alle 21:09