Our Approach
We focused on deliverable improvements within a one-month engagement while documenting longer-term recommendations.
Caching Abstraction Layer
Implemented a memory cache with an interface designed for future extension:
- Immediate performance improvement through in-memory caching
- Architecture supporting future Redis integration
- Compatible with .NET's hybrid cache when they upgrade from .NET 6
Database Investigation
Investigated SQL partitioning on the problematic tables:
- Dramatic improvements in isolation: Partitioning worked when tested independently
- Ripple effects prevented adoption: Partitioning would need to cascade across related tables that didn't support the same date-range patterns
Also recommended migrating to proper SQL temporal tables, though this too would require significant restructuring.
Roadmap Delivery
Left the team with documented next steps:
- Rolling out caching pattern to other areas
- Evaluating database partitioning feasibility
- Considering temporal table migration