Erik Darling says get more RAM:
I’m not saying you need a 1:1 relationship between data and memory all the time, but if you’re not caching the stuff users are, you know, using, in an efficient way, you may wanna think about your strategy here.
- Option 1: Buy some more RAM
- Option 2: Buy an all flash array
You’ll still need to blow some development time on tuning queries and indexes, but hardware can usually bridge the gap if things are already critical.
Looking at hardware is a reasonable approach. The best bet is to satisfy the most pressing need at the margin. Sometimes that means more (or better) hardware, sometimes it means tuning queries, and sometimes it means application-level changes to retrieve data differently.