{
  "video_id": "reddit_1w3blbq",
  "channel_slug": "programming",
  "channel_handle": "r/programming",
  "title": "Please, I beg you, we need to stop using Stored Procedures (from applications)",
  "url": "https://www.reddit.com/r/programming/comments/1w3blbq/please_i_beg_you_we_need_to_stop_using_stored/",
  "external_url": "https://heffree.dev/blog/no-more-sprocs.html",
  "upload_date": "20260831",
  "published_at": "2026-08-31T11:56:12+00:00",
  "transcript": "\n\n--- Top Comments ---\n\n\n[227 upvotes] You left out my #1 reason, store procedures hide business logic in the database that is more difficult to properly test. \n\n[91 upvotes] What stored procedures get you is a lot:\n\nIf you're processing large amounts of data, it's way faster to do that work in the database, where the data already lives, rather than pulling it into the app tier and pushing results back.   \n  \nThis is actually where the author contradicts himself: he says *minimizing round trips* is the priority, but the alternative he's arguing for either *needs multiple round trips* for anything with conditional or multi-step logic, or requires pulling a large result set into the app just to filter/aggregate it there - work the DB engine would've done in place, for free, with less network and serialization overhead.\n\nYou can also call a stored procedure regardless of the caller: from the SQL console, from an API, from an application that connects directly to the database, from a batch job, from a completely different app in a different language. That's not just convenience, it's decoupling.   \nCallers only depend on the procedure's signature, not the physical schema. A DBA can change table structure, split a table, add an index - and every consumer keeps working.   \nA shared library in your app repo can't give you that if another team or another servic\n\n[60 upvotes] I remember 15 years ago working on an app that had **everything** in stored procedures. App was basically a thin layer on top of DB. It went all the way to authentication even, you would call an auth stored procedure and get a token back which you would pass into every other stored procedure.\n\n[51 upvotes] No.",
  "transcript_chars": 1701,
  "ingested_at": "2026-08-31T13:30:18.699528+00:00",
  "source": "reddit",
  "yt_meta": {
    "score": 71,
    "upvote_ratio": 0.7,
    "num_comments": 99,
    "author": "Heffree",
    "is_self": false
  }
}