SQL Algorithms Checklist

Version: 2.1
Scope: Stored procedures, views, migrations, and query logic across MS SQL / MySQL / SQLite.

MUST

  • [ ] Parameterization: no string concatenation for SQL commands; strict typing
  • [ ] Schema assumptions are documented (collation, case sensitivity, null semantics)
  • [ ] Transactions are explicit when needed; isolation level is justified
  • [ ] Idempotence: migrations and setup scripts can run safely (or clearly state non-idempotence)
  • [ ] Concurrency: locking behavior is considered (deadlocks, long locks, escalation)
  • [ ] Index strategy is validated; changes are accompanied by rationale and impact notes
  • [ ] Query plans are reviewed for critical paths (MS SQL: actual plan; MySQL: EXPLAIN; SQLite: query plan)
  • [ ] Pagination uses deterministic ordering (no „OFFSET without ORDER BY“)
  • [ ] Date/time semantics are explicit (UTC vs local; time zone conversions)
  • [ ] Error handling maps DB errors to safe application errors (no schema leakage)

SHOULD

  • [ ] Avoid RBAR/cursors where set-based solutions are available (unless justified)
  • [ ] Use bounded result sets; avoid „SELECT *“ in public interfaces
  • [ ] Provide test datasets and regression queries for edge cases

NICE

  • [ ] Document engine-specific differences (e.g., LIMIT/OFFSET, RETURNING support, JSON functions)
  • [ ] Provide performance baselines for high-volume tables

Version: 2.1 (Split)
Author: Wolfgang van der Stille

Back to Stack Checklists | Review Checklists

Zuletzt geändert: on 2026/01/08 at 01:50 AM