|
|
|
|
|
by CraigJPerry
1387 days ago
|
|
There’s a pithy quote by someone famous in DB circles who said something like “normalise until it hurts, de-normalise until it’s fast enough” - I’m vague on the exact words used but that’s the gist of it. I’ve never come across a scenario yet where this wasn’t sound advice. I tend to lean heavily on my DB as well. E.g. I tend to push all state down to the DB and out of the application. I work in environments where it’s common for developers to want to disable FK constraints, and i temporarily do sometimes during specific bulk operations during releases for example. The usual reasons others will suggest relaxing FK constraints permanently will be due to the need for audit logs or soft deletes but i have patterns for these too. Foreign key constraints are pretty awesome, all databases I’ve worked in so far have escape hatches for when they hurt too much. |
|
Still, in my experience, database normalization has seemed like less of a performance impediment than queries written without considering an execution plan and indexes.