I did performance testing using Jmeter in QA and the number of records in QA DB were 30-40 times less than number of records in Prod DB.
For above reason, the performance in QA was very good but when application released in Prod, the performance was very bad.
How should the perf testing be done in Non-Prod that can simulate Prod conditions (in terms of DB size here)? What is the strategy/process?
As you said, you can't simulate real load if database is significantly smaller.
You should use similar, and if you can't, try to increase the load using other options, as more concurrent users, more transactions per second to match as close to real production load